> 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.
Doug,
Sorry for the delay in replying. The property path material has been
incorporated into the main query specification and now includes "Negated
property sets" which matches the feature you suggested.
http://www.w3.org/TR/sparql11-query/#propertypaths
>
> 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 .
> }
> 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 .
> }
The working group has not decided to incorporate this feature into the
property paths specification in this round of SPARQL standardization.
Some future working group may decide to introduce it, or may introduce
variables in property paths.
>
> Thanks for listening,
> Doug.
We would be grateful if you would acknowledge that your comment has been
answered by sending a reply to this mailing list.
Andy
on behalf of the SPARQL working group