W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2010

Re: [TF-PP] Property sets in paths

From: Ivan Herman <ivan@w3.org>
Date: Wed, 3 Feb 2010 16:28:05 +0100
Cc: SPARQL Working Group <public-rdf-dawg@w3.org>
Message-Id: <17542642-848F-42FA-8875-1B7EC91EFE98@w3.org>
To: Andy Seaborne <andy.seaborne@talis.com>

On Feb 3, 2010, at 10:55 , Andy Seaborne wrote:

> 
> 
> 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:)
> 


If we go down that road (I am not yet sure we should) I would prefer the explicit, verbose form. I am getting nervous by assigning too many characters to special functionalities. The same with regular expressions: except for simple cases I still find myself going back to the regex manuals because I am confused by the syntax. And, I guess, all of us have seen absolutely unreadable (though syntactically correct) regex-es. Do we really want that?

Ivan

> 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).
> 


----
Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf







Received on Wednesday, 3 February 2010 15:26:33 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:41 GMT