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

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.

cheers,

Dan

Received on Monday, 16 July 2012 21:11:34 UTC