Re: Comments on SPARQL 1.1 Property Paths

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

> # ?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.
>
>

-- 
Steve Harris, Garlik Limited
2 Sheen Road, Richmond, TW9 1AE, UK
+44 20 8973 2465  http://www.garlik.com/
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10  
9AD

Received on Monday, 1 February 2010 18:56:46 UTC