[TF-PP] Property sets in paths

On 01/02/2010 9:09 AM, Andy Seaborne wrote:
> Summary:
>
> 1/ Use of ! ex:property meaning anything but that property.

This is like inverted character classes in string regex's --
[^abc] meaning anything but "a", "b" or "c".  In property paths, IRIs 
are pattern atoms and the equivalent of characters.


---------
Proposal:

Add the capability

   !:property

   !(:property1|:property2)

In particular, the "!" operator only applies to a property or a list of 
properties, and does not apply to a general path expression (in the same 
way that [^..] only applies to characters).

---------

Discussion point:

Continuing with the idea of character classes (property classes - 
possibly confusing terminology: property sets?), it could be argues that 
we need the ability to name groups of related IRIs (c.f. \d for digits 
in strign regexs).

The one that I though of is anything starting with a particular 
namespace IRI - e.g. all foaf: IRIs.

Maybe a compact form like:
   foaf:%
or verbose form like:
   prefix(foaf:)
   iriPrefix(foaf:)

so

   ?x foaf:% ?y

any foaf-related connection.

Interacting with !:

   ?x !rdfs:% ?y

Connected by something which isn't in the rdfs: vocabulary.

	Andy

>
> # ?x connected to :y but not by having the same type:
> ?x !rdf:type ?y .
>
> # ?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).

Received on Wednesday, 3 February 2010 09:55:13 UTC