Re: in...of syntax Re: Turtle Last Call: Request for Review

Dan Brickley wrote:
> On 16 July 2012 21:36, Tim Berners-Lee <timbl@w3.org> wrote:
>> I would like to formalize the request I have made at intervals
>> to include the     is ... of syntax as in N3 in Turtle.
>>
>> Motivations:
>>
>> - It is convenient for human Turtle writers.
>>         Example:
>>
>>         foaf:Person is rdf:type of :Alice, :Bob, :Charlie, :David, :Elisa .
> 
> consider
> 
> foo:TechnicalPerson is rdfs:subClassOf foaf:Person .
> 
> giving us
> 
> foaf:Person is rdfs:subClassOf of foo:TechnicalPerson .
> 
> or
> 
> bar:copyeditor rdfs:subPropertyOf dc:contributor .
> 
> giving us
> 
> dc:contributor is rdfs:subPropertyOf of bar:copyeditor .
> 
> Cutting out the namespaces and reading the English, we get
> 
> "Person is subClassOf of TechnicalPerson", and "contributor is
> subPropertyOf of copyeditor".
> 
> The repetitition of 'of' here reminds me unhappily of
> 
> http://en.wikipedia.org/wiki/James_while_John_had_had_had_had_had_had_had_had_had_had_had_a_better_effect_on_the_teacher
> 
> Ultimately I think the old RDFS WG takes the blame here; we should
> have called these 'superProperty' and 'superClass': "Person is
> superClass of TechnicalPerson" is just fine.
> 
> You might argue that there are a handful of properties (those with
> 'of' in the name, mostly) for which this shortcut is really bad, but
> perhaps it's still useful.
> 
> I am entirely sat on the fence. I don't feel comfortable turning
> Turtle (and SPARQL too?) into more of a pseudo-English thing. On the
> other hand ...
> 
>> - By allowing a predicate to be used in either direction, it decreases
>> the motivation for the antipattern define both p and inverse of p for all p.
>> In other words, of you can write   "is child of" you don't need
>> to define a separate "parent" property.
> 
> ...this is quite persuasive, though note that RDF vocabulary authors
> take more into account than Turtle: if 'rev=' is not considered
> deployable in HTML5+RDFa, they'll still include the inverses.

The same thing can be achieved with symbols, for example using ^:

   foaf:Person ^rdf:type :Alice, :Bob, :Charlie, :David, :Elisa .

It seems there are two issues, one if having the functionality, the 
other is having the alignment with N3. Which is the most important, are 
they equal, is there a possibility of having one without the other?

My personal opinion is "why not", it has worked for over a decade, 
wouldn't break turtle, and is very useful (I requested this myself 
multiple times at the start of the RDF WG too).

Best,

Nathan

Received on Monday, 16 July 2012 21:25:23 UTC