- From: Pat Hayes <phayes@ihmc.us>
- Date: Thu, 22 Apr 2010 22:21:59 -0500
- To: nathan@webr3.org
- Cc: Michael Schneider <schneid@fzi.de>, public-owl-dev@w3.org
Nathan, the issue you raise is clearly important, but it goes beyond the semantics currently available for RDF or OWL. So to seek an answer in some OWL or RDF 'rule' (using this word informally) or style of usage, is looking under the wrong lamppost. All of the current crop of SWeb formalisms (including RDF and all the OWLs) deal with simple assertions. Their semantics provide for claiming that a graph is true, as opposed to not true. There are no notions of provenance, or of trust, or of claims made by one authority as opposed to another, etc. etc. While (as you point out) such matters are important in practice, they all turn on which source of asserted facts you decide to believe, rather than the nature of the facts being asserted. So in your example, the claim that John is a member of Group might be made by John, or published by Group, or maybe derived by a reasoner from some complex tissue of assertions made by a variety of sources. But as far as the semantics is concerned, it is the same claim in all these cases, and to assert it - to claim it is true - is the same assertion no matter who makes it. So you cannot expect to find anything in any OWL (or RDF. etc.) standard which can help you distinguish the assertion as made by John from the assertion as made by the Group. The named graph proposal (which has never been ratified by the W3C) included quite an elaborate device of 'warrant graphs' which allowed for explicit 'speech acts' where one graph could be securely signed by an authority and then in turn act as a warranted assertion of another graph, allowing these patterns of assertion to be make explicit in the RDF. But this amounted to a kind of RDF ontology of assertion and authority, rather than a change to the basic semantics. Maybe the new RDF will be able to handle some of this. But it will take a while. Pat On Apr 22, 2010, at 4:44 AM, Nathan wrote: > Michael Schneider wrote: >> Hi Nathan! >> >> It is not clear to me what your actual question is and what you >> want to >> achieve. But I can see several issues that I want to make you aware >> of. This >> may help you to rephrase your question, or to reconsider your ideas. >> >> 1) Named graphs are not supported by OWL, neither semantically nor >> syntactically. > > That's the problem I fear! > >> 2) The two restriction classes are equivalent to each other. I >> don't know >> whether you have intended this. The two class expressions only >> differ in the >> owl:onProperty part. But, as you state in your mail, the properties >> sioc:member_of and sioc:has_member are inverse to each other, so the >> property expressions "sioc:member_of" and "[ owl:inverseOf >> sioc:has_member >> ]" that occur in the owl:onProperty parts are equivalent to each >> other. >> Hence both restriction classes are equivalent. >> >> 3) I don't know what you mean when you say that a certain class >> "equates to >> asking" a named graph. I also don't know what you mean by "if [the >> class] >> asserts [some statement]" (classes don't assert anything). But what >> I can >> see is that the two given statements >> >> <http://ex.org/john#me> sioc:member_of <http://ex.org/groups#g1> >> >> and >> >> <http://ex.org/groups#g1> sioc:has_member <http://ex.org/john#me> >> >> are equivalent, since the properties sioc:member_of and >> sioc:has_member are >> equivalent. So you cannot use these statements as selection >> criteria, since >> if one statement is asserted/inferred (by whatever means), the >> other will be >> asserted/inferred as well. > > exactly, yet "john says he is a member of group-g1" is very > different to > "group-g1 says that one of it's members is john". Belief states, > truth, > unsure the precise term. > > context: > > I've hit this problem a few times, specifically this time it's do with > processing the ACL ontology at runtime for access control, where a > user > (identified by <users-uri>) is allowed access if it is deemed to be a: > > _:myfriends owl:equivalentClass [ > a owl:Restriction ; > owl:hasValue <http://ex.org/groups#group1> ; > owl:onProperty [ owl:inverseOf sioc:has_member ] > ] . > > at runtime we have two graphs available to check, either the graph > containing <users-uri> or the graph containing <http://ex.org/groups#group1 > > > > this would equate either: > > ASK { > GRAPH <group> { > <group> <has_member> <webid> . > } > } > > or: > > ASK { > GRAPH <webid> { > <webid> <member_of> <graph> . > } > } > > (or both) > > due to the delicate nature of access control, it is critically > important > to be able to assert which graph(s) to check (or maybe trust?) at > runtime. > > In the above, perhaps if we swapped the term graph for resource it > would > make more sense.. For some reason I feel that rdfs:isDefinedBy could > be > leveraged in an owl:Restriction, but I could easily be (and often > am) wrong. > > Best, > > Nathan > > ------------------------------------------------------------ IHMC (850)434 8903 or (650)494 3973 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32502 (850)291 0667 mobile phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
Received on Friday, 23 April 2010 03:23:06 UTC