OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

humanmarkup-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: HM.applications-Profiling-Level of Details/Abstraction


Just as a side-note, following what's been happening in the SOAP arena, the
mustUnderstand  attribute has proved to be contentious at best. In this case
it is denoting whether a given node in a SOAP network understands a
sufficient amount of the SOAP message coming in to process it, but this
raises all types of issues such as,

"If a node does not understand a block and its not a terminus in the
transaction, should it perceive it as an error or send it on?",
"What specifically is meant by understanding? The ability to process?",

Especially before we get into a semantical quagmire, we should be reasonably
confident ourselves about what the term "understand" means with both machine
and human agents.

Now back to your regularly scheduled program

----- Original Message -----
From: "Sean B. Palmer" <sean@mysterylights.com>
To: "Bullard, Claude L (Len)" <clbullar@ingr.com>; "Rex Brooks"
<rexb@starbourne.com>; "Ranjeeth Kumar Thunga" <rkthunga@humanmarkup.org>;
<humanmarkup-comment@lists.oasis-open.org>; <www-archive@w3.org>
Sent: Friday, September 07, 2001 9:15 AM
Subject: Re: HM.applications-Profiling-Level of Details/Abstraction


> [Len's parts are either prefixed per-line with "> ", or wrapped in "[[["
> and "]]]" and not given a source. Anything else wrapped in those
delimiters
> is quoteed material, and a source given.]
>
> > Sean, how would RDF represent this?  Then we should inquire
> > as to how a human object uses the knowledge base.
>
> Interestingly, this example reminded me very much of the one in the
> Notation3/SW Primer:-
>
> [[[
> A simple rule, then, is,
>
> { sensor:thermostat  math:greaterThan "30" . } log:implies {
> control:furnace control:setTo "1" . } .
> If a system is built which understands all the parts, this would allow it,
> give
>
> sensor:thermostat  math:greaterThan "30" .
> to conclude
>
> control:furnace control:setTo "1"
> ]]] - http://www.w3.org/2000/10/swap/Primer
> $Id: Primer.html,v 1.9 2001/01/05 14:22:22 timbl Exp $
>
> anyway, that's just a digression. The best I can do with representing your
> code in RDF is:-
>
> [[[
> Given
>
> Episodic fact:  (this.action(push red button) -> this.state(heater.On) ->
> Result = "hot" )
> Context fact:   (blue = "cold")
> ]]]
>
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
> @prefix daml: <http://www.daml.org/2001/03/daml+oil#> .
> @prefix log: <http://www.w3.org/2000/10/swap/log#> .
> @prefix : <http://infomesh.net/2001/09/humltest/ont#> .
> @prefix x: <http://infomesh.net/2001/09/humltest/#> .
>
> :Button a :Mechanism .
> :Blue a :Class; rdfs:comment "the class of things which are blue";
>    rdfs:label "Blue Thing" .
> :Red a :Class; rdfs:comment "the class of things which are red";
>    rdfs:label "Red Thing" .
> x:BlueButton a [ daml:intersectionOf (:Button :Blue) ] .
> x:RedButton a [ daml:intersectionOf (:Button :Red) ] .
> x:Heater a :Heater .
> x:AirConditioner a :AirConditioner .
>
> :Push a :Action; :performedBy :Humans; :to :Activate .
> :Activated a rdfs:Class; rdfs:comment """the class of things
> which have been activated, possibly by pushing""" .
> # I'm not sure if one can use compliments in this way, but...
> :NotActivated daml:complimentOf :Activated;
>    rdfs:comment "the class of thing that are not activated" .
>
> { { x:RedButton a :Activated }
> log:implies
> { x:Heater a :Activated . } } a log:Truth .
>
> { { x:RedButton a :NotActivated }
> log:implies
> { x:Heater a :NotActivated . } } a log:Truth .
>
> { { x:BlueButton a :Activated }
> log:implies
> { x:AirConditioner a :Activated } } a log:Truth .
>
> { { x:BlueButton a :NotActivated }
> log:implies
> { x:AirConditioner a :NotActivated } } a log:Truth .
>
> [[[
> Learns:
>
> - rules for learning
>   (this.action (this.object(controls) -> this.state(system.on))
> ]]]
>
> Hmm... perhaps it is fair to say:-
>
> { { { :x a :Activated } log:implies { :y a :Activated } .
>      { :x a :NotActivated } log:implies { :y a :NotActivated } }
> log:implies
> { :x :activates :y } } a log:Truth .
>
> however, if the air conditioner is not activated, that does imply that the
> switch is not activated, but it doesn't imply that the air conditioner
> actives the switch.  Ah, there is a delay in the timing mechanism from the
> switch going on to the thing being activated... so the log:implies
> predicate isn't quite right here. I'll invent a new one "oftenPrecludes":-
>
> { x:RedButton a :Activated }
> :oftenPrecludes
> { x:Heater a :Activated } .
>
> { x:RedButton a :NotActivated }
> :oftenPrecludes
> { x:Heater a :NotActivated } .
>
> { x:BlueButton a :Activated }
> :oftenPrecludes
> { x:AirConditioner a :Activated } .
>
> { x:BlueButton a :NotActivated }
> :oftenPrecludes
> { x:AirConditioner a :NotActivated } .
>
> and hence the following rule works:-
>
> { { { :x a :Activated } :oftenPrecludes { :y a :Activated } .
>      { :x a :NotActivated } :oftenPrecludes { :y a :NotActivated } }
> log:implies
> { :x :activates :y } } a log:Truth; log:forAll :x , :y .
>
> let's feed all that junk into CWM and get it to think about it... aha, it
> concluded (correctly):-
>
>     x:BlueButton     a  [
>              daml:intersectionOf  (
>             :Button
>             :Blue  ) ];
>          :activates x:AirConditioner .
>
>     x:RedButton     a  [
>              daml:intersectionOf  (
>             :Button
>             :Red  ) ];
>          :activates x:Heater .
>
> Neat.
>
> [[[
> - rules for specific results
>   (this.action (push blue button) -> this.state (airConditioner.on) ->
> Result="cold")
> ]]]
>
> Hmm... for that, we probably need:-
>
> # Just accept this for now
> { { :x :oftenPrecludes :y } log:implies { :x log:implies :y } }
> a log:Truth; log:forAll :x , :y .
>
> then we have the action itself:-
>
> x:BlueButton a :Activated .
>
> and then we need some rules that explain that when the air conditioner is
> on, it is cold:-
>
> { { :x a :AirConditioner; a :Activated }
> log:implies
> { x:RoomTemperature :level :Cool } }
> a log:Truth; log:forAll :x .
>
> { { :x a :Heater; a :Activated }
> log:implies
> { x:RoomTemperature :level :Warm } }
> a log:Truth; log:forAll :x .
>
> of course, if both are on, then the room temperature is warm and cold... I
> couldn't be bothered to account for the fact that they aren't boolean
> states (I think CWM can deal with analogues, but it would be beyond the
> scope of a mere example). Anyway, let's feed all this new junk into CWM,
> get it to -think, and find out what it gives us. Remember, all we have
said
> is that the blue button is pushed on, and then given it a set of rules to
> say that if the blue button is on, then the air conditioner is on, and so
> the room temperature is cool. Hooray, it did it:-
>
>     x:RoomTemperature     :level :Cool .
>
> result! Let's convert the entire Notation3 output into XML RDF, just for a
> laugh:-
>
> <!-- Processed by Id: cwm.py,v 1.59 2001/07/03 16:55:52 connolly Exp -->
> <!--     using base file:C:\WINDOWS\DESKTOP\BLARGH~1.N3-->
>
> <rdf:RDF xmlns="http://infomesh.net/2001/09/humltest/ont#"
>     xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
>     xmlns:log="http://www.w3.org/2000/10/swap/log#"
>     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>     xmlns:x="http://infomesh.net/2001/09/humltest/#">
>
>     <rdf:Description>
>         <log:is rdf:parseType="log:Quote">
>             <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/#BlueButton">
>             </Activated>
>         </log:is>
>         <oftenPrecludes rdf:parseType="log:Quote">
>             <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/#AirConditioner">
>             </Activated>
>         </oftenPrecludes>
>     </rdf:Description>
>
>     <rdf:Description rdf:about="#_g10">
>         <log:implies rdf:parseType="log:Quote">
>             <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/#AirConditioner">
>             </Activated>
>         </log:implies>
>         <rdf:Description>
>             <log:is rdf:parseType="log:Quote">
>                 <NotActivated
> rdf:about="http://infomesh.net/2001/09/humltest/#BlueButton">
>                 </NotActivated>
>             </log:is>
>             <oftenPrecludes rdf:parseType="log:Quote">
>                 <NotActivated
> rdf:about="http://infomesh.net/2001/09/humltest/#AirConditioner">
>                 </NotActivated>
>             </oftenPrecludes>
>         </rdf:Description>
>         <rdf:Description rdf:about="#_g13">
>             <log:implies rdf:parseType="log:Quote">
>                 <NotActivated
> rdf:about="http://infomesh.net/2001/09/humltest/#AirConditioner">
>                 </NotActivated>
>             </log:implies>
>             <rdf:Description>
>                 <log:is rdf:parseType="log:Quote">
>                     <rdf:Description>
>                         <log:is rdf:parseType="log:Quote">
>                             <rdf:Description>
>                                 <log:is rdf:parseType="log:Quote">
>                                     <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/ont#x">
>                                     </Activated>
>                                 </log:is>
>                                 <oftenPrecludes rdf:parseType="log:Quote">
>                                     <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/ont#y">
>                                     </Activated>
>                                 </oftenPrecludes>
>                                 <rdf:Description>
>                                     <log:is rdf:parseType="log:Quote">
>                                         <NotActivated
> rdf:about="http://infomesh.net/2001/09/humltest/ont#x">
>                                         </NotActivated>
>                                     </log:is>
>                                     <oftenPrecludes
> rdf:parseType="log:Quote">
>                                         <NotActivated
> rdf:about="http://infomesh.net/2001/09/humltest/ont#y">
>                                         </NotActivated>
>                                     </oftenPrecludes>
>                                 </rdf:Description>
>                             </rdf:Description>
>                             <log:implies rdf:parseType="log:Quote">
>                                 <rdf:Description
> rdf:about="http://infomesh.net/2001/09/humltest/ont#x">
>                                     <activates
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#y"/>
>                                 </rdf:Description>
>                             </log:implies>
>                         </log:is>
>                     </rdf:Description>
>                     <rdf:type
> rdf:resource="http://www.w3.org/2000/10/swap/log#Truth"/>
>                     <log:forAll
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#x"/>
>                     <log:forAll
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#y"/>
>                     <rdf:Description>
>                         <log:is rdf:parseType="log:Quote">
>                             <rdf:Description>
>                                 <log:is rdf:parseType="log:Quote">
>                                     <rdf:Description
> rdf:about="http://infomesh.net/2001/09/humltest/ont#x">
>                                         <oftenPrecludes
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#y"/>
>                                     </rdf:Description>
>                                 </log:is>
>                                 <log:implies rdf:parseType="log:Quote">
>                                     <rdf:Description
> rdf:about="http://infomesh.net/2001/09/humltest/ont#x">
>                                         <log:implies
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#y"/>
>                                     </rdf:Description>
>                                 </log:implies>
>                             </rdf:Description>
>                         </log:is>
>                         <rdf:type
> rdf:resource="http://www.w3.org/2000/10/swap/log#Truth"/>
>                         <log:forAll
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#x"/>
>                         <log:forAll
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#y"/>
>                         <rdf:Description>
>                             <log:is rdf:parseType="log:Quote">
>                                 <rdf:Description>
>                                     <log:is rdf:parseType="log:Quote">
>                                         <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/ont#x">
>                                             <rdf:type
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#AirConditioner"/>
>                                         </Activated>
>                                     </log:is>
>                                     <log:implies
rdf:parseType="log:Quote">
>                                         <rdf:Description
> rdf:about="http://infomesh.net/2001/09/humltest/#RoomTemperature">
>                                             <level
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Cool"/>
>                                         </rdf:Description>
>                                     </log:implies>
>                                 </rdf:Description>
>                             </log:is>
>                             <rdf:type
> rdf:resource="http://www.w3.org/2000/10/swap/log#Truth"/>
>                             <log:forAll
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#x"/>
>                             <rdf:Description>
>                                 <log:is rdf:parseType="log:Quote">
>                                     <rdf:Description>
>                                         <log:is rdf:parseType="log:Quote">
>                                             <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/ont#x">
>                                                 <rdf:type
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Heater"/>
>                                             </Activated>
>                                         </log:is>
>                                         <log:implies
> rdf:parseType="log:Quote">
>                                             <rdf:Description
> rdf:about="http://infomesh.net/2001/09/humltest/#RoomTemperature">
>                                                 <level
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Warm"/>
>                                             </rdf:Description>
>                                         </log:implies>
>                                     </rdf:Description>
>                                 </log:is>
>                                 <rdf:type
> rdf:resource="http://www.w3.org/2000/10/swap/log#Truth"/>
>                                 <log:forAll
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#x"/>
>                                 <rdf:Description>
>                                     <log:is rdf:parseType="log:Quote">
>                                         <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/#RedButton">
>                                         </Activated>
>                                     </log:is>
>                                     <oftenPrecludes
> rdf:parseType="log:Quote">
>                                         <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/#Heater">
>                                         </Activated>
>                                     </oftenPrecludes>
>                                 </rdf:Description>
>                                 <rdf:Description rdf:about="#_g32">
>                                     <log:implies
rdf:parseType="log:Quote">
>                                         <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/#Heater">
>                                         </Activated>
>                                     </log:implies>
>                                     <rdf:Description>
>                                         <log:is rdf:parseType="log:Quote">
>                                             <NotActivated
> rdf:about="http://infomesh.net/2001/09/humltest/#RedButton">
>                                             </NotActivated>
>                                         </log:is>
>                                         <oftenPrecludes
> rdf:parseType="log:Quote">
>                                             <NotActivated
> rdf:about="http://infomesh.net/2001/09/humltest/#Heater">
>                                             </NotActivated>
>                                         </oftenPrecludes>
>                                     </rdf:Description>
>                                     <rdf:Description rdf:about="#_g35">
>                                         <log:implies
> rdf:parseType="log:Quote">
>                                             <NotActivated
> rdf:about="http://infomesh.net/2001/09/humltest/#Heater">
>                                             </NotActivated>
>                                         </log:implies>
>                                     </rdf:Description>
>                                     <Activated
> rdf:about="http://infomesh.net/2001/09/humltest/#AirConditioner">
>                                         <rdf:type
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#AirConditioner"/>
>                                     </Activated>
>                                     <rdf:Description
> rdf:about="http://infomesh.net/2001/09/humltest/#BlueButton">
>                                         <rdf:type
rdf:parseType="Resource">
>                                             <daml:intersectionOf
> rdf:parseType="Resource">
>                                                 <daml:first
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Button"/>
>                                                 <daml:rest
> rdf:parseType="Resource">
>                                                     <daml:first
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Blue"/>
>                                                     <daml:rest
> rdf:resource="http://www.daml.org/2001/03/daml+oil#nil"/>
>                                                 </daml:rest>
>                                             </daml:intersectionOf>
>                                         </rdf:type>
>                                         <rdf:type
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Activated"/>
>                                         <activates
> rdf:resource="http://infomesh.net/2001/09/humltest/#AirConditioner"/>
>                                     </rdf:Description>
>                                     <Heater
> rdf:about="http://infomesh.net/2001/09/humltest/#Heater">
>                                     </Heater>
>                                     <rdf:Description
> rdf:about="http://infomesh.net/2001/09/humltest/#RedButton">
>                                         <rdf:type
rdf:parseType="Resource">
>                                             <daml:intersectionOf
> rdf:parseType="Resource">
>                                                 <daml:first
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Button"/>
>                                                 <daml:rest
> rdf:parseType="Resource">
>                                                     <daml:first
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Red"/>
>                                                     <daml:rest
> rdf:resource="http://www.daml.org/2001/03/daml+oil#nil"/>
>                                                 </daml:rest>
>                                             </daml:intersectionOf>
>                                         </rdf:type>
>                                         <activates
> rdf:resource="http://infomesh.net/2001/09/humltest/#Heater"/>
>                                     </rdf:Description>
>                                     <rdf:Description
> rdf:about="http://infomesh.net/2001/09/humltest/#RoomTemperature">
>                                         <level
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Cool"/>
>                                     </rdf:Description>
>                                     <rdfs:Class
> rdf:about="http://infomesh.net/2001/09/humltest/ont#Activated">
>                                         <rdfs:comment>the class of things
> which have been activated, possibly by pushing</rdfs:comment>
>                                     </rdfs:Class>
>                                     <Class
> rdf:about="http://infomesh.net/2001/09/humltest/ont#Blue">
>                                         <rdfs:comment>the class of things
> which are blue</rdfs:comment>
>                                         <rdfs:label>Blue
Thing</rdfs:label>
>                                     </Class>
>                                     <Mechanism
> rdf:about="http://infomesh.net/2001/09/humltest/ont#Button">
>                                     </Mechanism>
>                                     <rdf:Description
> rdf:about="http://infomesh.net/2001/09/humltest/ont#NotActivated">
>                                         <daml:complimentOf
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Activated"/>
>                                         <rdfs:comment>the class of thing
> that are not activated</rdfs:comment>
>                                     </rdf:Description>
>                                     <Action
> rdf:about="http://infomesh.net/2001/09/humltest/ont#Push">
>                                         <performedBy
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Humans"/>
>                                         <to
> rdf:resource="http://infomesh.net/2001/09/humltest/ont#Activate"/>
>                                     </Action>
>                                     <Class
> rdf:about="http://infomesh.net/2001/09/humltest/ont#Red">
>                                         <rdfs:comment>the class of things
> which are red</rdfs:comment>
>                                         <rdfs:label>Red Thing</rdfs:label>
>                                     </Class>
>                                 </rdf:Description>
>                             </rdf:Description>
>                         </rdf:Description>
>                     </rdf:Description>
>                 </log:is>
>             </rdf:Description>
>         </rdf:Description>
>     </rdf:Description>
> </rdf:RDF>
>
> There's a wonderful amount of CWM syntactic junk in there, but you get the
> idea that XML RDF is a bit unweildy when it comes to expressing FOPL-type
> logical statements (implications).
>
> Cheers,
>
> --
> Kindest Regards,
> Sean B. Palmer
> @prefix : <http://webns.net/roughterms/> .
> :Sean :hasHomepage <http://purl.org/net/sbp/> .
>
>
> ----------------------------------------------------------------
> To subscribe or unsubscribe from this elist use the subscription
> manager: <http://lists.oasis-open.org/ob/adm.pl>
>



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC