- From: Ivan Herman <ivan@w3.org>
- Date: Wed, 3 Feb 2010 16:28:05 +0100
- To: Andy Seaborne <andy.seaborne@talis.com>
- Cc: SPARQL Working Group <public-rdf-dawg@w3.org>
- Message-Id: <17542642-848F-42FA-8875-1B7EC91EFE98@w3.org>
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
Attachments
- application/pkcs7-signature attachment: smime.p7s
Received on Wednesday, 3 February 2010 15:26:33 UTC