- From: Andy Seaborne <andy.seaborne@talis.com>
- Date: Mon, 01 Feb 2010 21:45:12 +0000
- To: Steve Harris <steve.harris@garlik.com>
- CC: SPARQL Working Group <public-rdf-dawg@w3.org>
On 01/02/2010 6:56 PM, Steve Harris wrote: > On 1 Feb 2010, at 09:09, Andy Seaborne wrote: > >> Summary: >> >> 1/ Use of ! ex:property meaning anything but that property. >> >> # ?x connected to :y but not by having the same type: >> ?x !rdf:type ?y . > > I'm a little confused by the semantics of this, is it: > ?x ?p ?y . > NOT EXISTS { ?x rdf:type ?y } . > or > ?x ?p ?y > FILTER(?p != rdf:type) > > - Steve I am reading Doug's comments as it being the latter. It's not absence of a path; there is a link; it's not rdf:type. The example is of whether ex:GeorgeWBush and ex:TonyBlair have a connection in the graph, ignoring the fact that they are both (rdf:type ex:Politician)s. Andy > >> # ?x connected to ?y by some path that excludes rdf:type >> ?x !( rdf:type | ^rdf:type)* ?y . >> >> and a follow-on from that, not mentioneded by Doug, would be "any" >> property (but not bound to a variable). >> >> 2/ Describing properties rather than just naming them. >> >> Andy >> >> -------- Original Message -------- >> Subject: Comments on SPARQL 1.1 Property Paths >> Resent-Date: Mon, 01 Feb 2010 02:43:25 +0000 >> Resent-From: public-rdf-dawg-comments@w3.org >> Date: Fri, 29 Jan 2010 09:52:46 -0500 >> From: Douglas Reid <dreid@bbn.com> >> To: public-rdf-dawg-comments@w3.org >> >> I had a few questions/comments regarding the draft of the SPARQL 1.1 >> Property Paths that was just published. >> >> Has there been any consideration of enabling, for lack of a better >> term, negated properties in property paths? By negated properties, I >> mean the notion of "any property EXCEPTING x". The use case that comes >> to mind is the notion of determining if two entities are connected via >> some graph pattern, without having to know how they are connected and >> wanting to ignore trivial / useless connections. For instance, I might >> want to discover whether or not ex:GeorgeWBush and ex:TonyBlair have a >> connection in the graph, ignoring the fact that they are both >> (rdf:type ex:Politician)s. >> >> It seems that having a negation mechanism might be more efficient, in >> certain cases, than a long listing of alternatives. >> >> Consider: >> >> { >> ?x ( foaf:knows | ex:meetOnce | ex:workedWith | ex:ownedCompany | >> ex:employed | .. )* ?y . >> } >> >> as compared to: >> >> { >> ?x !( rdf:type | ^rdf:type)* ?y . >> } >> >> Note: Here the "!" character is meant to convey a path that exists but >> does not include these properties, as opposed to implying the absence >> of a path using those properties. >> >> I realize that with clever ontology-wrangling, one could make all >> "interesting" properties a sub-property of a utility property that >> would serve to make property path querying easier, but that seems less >> elegant and, in some situations, impractical. >> >> Somewhat related question: I think I understand why the WG doesn't >> want to tackle variable property paths, but might it be useful to >> include a mechanism for general property description, without explicit >> property naming? One wouldn't need the chosen property for the path >> returned just be able to ontologically-describe an appropriate >> property to chose when considering paths. >> >> For instance, imagine trying to ensure, without exhaustive >> specification, that all property paths identified only occur through >> non-literal objects, so as to avoid trivial connections (say >> ex:first_name or ex:age). >> >> It might look something like: >> >> { >> ?x ( [ a owl:ObjectProperty ] | ^[ a owl:ObjectProperty ] ) * ?y . >> } >> >> Thanks for listening, >> Doug. >> >> >
Received on Monday, 1 February 2010 21:45:24 UTC