- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Sun, 19 Aug 2012 15:46:30 +0100
- To: public-rdf-wg@w3.org
> Use cases > ========= > > Reduce otherwise verbose reuse of an object for many subjects. > (From TimBL http://lists.w3.org/Archives/Public/public-rdf-comments/2012Jul/0007.html) > > Examples: > > foaf:Person is a of :Alice, :Bob, :Charlie, :David, :Elisa . > > vs. > > :Alice a foaf:Person . > :Bob a foaf:Person . > :Charlie a foaf:Person . > :David a foaf:Person . > :Elisa a foaf:Person . I confess I don't see much data that fits that style even hand-written: more common is a record-like structure: :Alice rdf:type foaf:Person ; foaf:name "Alice" ; foaf:knows Bob, :Charlie . :Bob rdf:type foaf:Person ; foaf:name "Bob" ; foaf:knows :Alice, :Charlie . > Allowing a predicate to be used in either direction > (From TimBL http://lists.w3.org/Archives/Public/public-rdf-comments/2012Jul/0007.html) > > :Alice foaf:age 38; > g:child :Bob, :Charlie; > is g:child of :Edna, :Fred; > foaf:basedNear :London; > is dc:author of [ dc:title "My life"; dc:date "1999"] . > > > Compatibility with N3 has not been considered as a use case. > > Rationale > ========= > > Decreases the motivation for the anti-pattern to define both property > and inverse of the property for all properties. In other words, if you > can write "is child of" you don't need to define a separate "parent" > property. This has some merit but from a readability argument, actually having "child" and "parent" make some sense as well. The inverse isn't always best expressed as "is...of". RDFS vocabulary builds directionality in the property names: rdfs:subClassOf rdfs:subPropertyOf > No emerging consensuses on the need to reduce otherwise verbose reuse > of an object for many subjects. > > > Objections > ========== > > English-centric "is ... of" is English-centric. > > Moves Turtle away from stated goal of compatibility with SPARQL 1.1. > > > Revised ^ Syntax > ================ > > foaf:Person ^a :Alice, :Bob, :Charlie, :David, :Elisa . > > :Alice foaf:age 38; > g:child :Bob, :Charlie; > ^g:child :Edna, :Fred; > foaf:basedNear :London; > is dc:author of [ dc:title "My life"; dc:date "1999"] . ^dc:author [ dc:title "My life"; dc:date "1999"] . > Objections to Revised Syntax > ============================ > > Not compatible with N3 > > Not compatible with SPARQL Update or SPARQL CONSTRUCT > > No implementation experience > > > Objections to both original syntax and revised syntax > ===================================================== > > Turtle is a reasonably settled languages, changes made by the working > group so far have been limited to areas of existing differences in > implementation. > > No demand over years of implementation experience > > Harder to teach Turtle > > No implementation experience in SERIALIZING to these inverse forms. > > > Proposals > ========= > > 1. Add is .. of syntax to Turtle. -1 I'd rather leave this open for a comprehensive and deployment-tested proposal for readably pseudo natural langauge in the future, probably with more words and forms to make it "readable" to a new class of user. > 1.1. Allowing "literals" in any subject position by syntax, > however the RDF model disallows literal as subject. (somewhat as > SPARQL but SPARQL does not support is ... of syntax) > > 1.2. Attempting to limit use of "literals" in subject position to > only is ... of predicates in grammar (Not as SPARQL) and not in the syntax-object position. That's going to make for a tricky grammar. At this point 1.1-style is better. > 2. Add ^ property path syntax to Turtle. -0 the list-syntax-object UC does not click for me the lack of evidence of what happens in practice to machine-written data is a concern I have > 1.1. Allowing "literals" in any subject position by syntax, > however the RDF model disallows literal as subject. (As SPARQL in > query blocks, however SPARQL disallows path syntax in triple assertion > syntax) > > 1.2. Attempting to limit use of "literals" in subject position to > only ^ predicates in grammar (Not as SPARQL and SPARQL disallows path > syntax in triple assertion syntax.) > > > 3. Add both ^ property path syntax and "is ... of" syntax. -1 One and only one. > 1.1. Allowing "literals" in any subject position by syntax, > however the RDF model disallows literal as subject. (As SPARQL in > query blocks, however SPARQL disallows path syntax in triple assertion > syntax) > > 1.2. Attempting to limit use of "literals" in subject position to > only ^ predicates and is .. of predicates in grammar (Not as SPARQL > and SPARQL disallows path syntax in triple assertion syntax and SPARQL > does not support is ... of) > > 4. Do nothing. +1 A safe choice. Andy
Received on Sunday, 19 August 2012 14:46:59 UTC