Re: [TURTLE] Turtle Inverse Properties

And now for opinions rather than a nice summary. Editor hat removed,
Lex Mechina Rep hat firmly in place.

On Fri, Aug 17, 2012 at 11:30 AM, Gavin Carothers <gavin@carothers.name> wrote:
> The following is a summary of the positions expressed by the WG and by
> the community on public-rdf-comments around Turtle Inverse Properties
>
>
> 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 .
>
> 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 is a very strong argument that has been expressed by a fairly
broad group of people. I am very sympathetic to this argument.
However, given that this syntax would only exist for one serialization
of RDF and not the widely deployed RDF/XML it would sadly not decrease
the need for inverse properties all that much. I admit that is
assuming that this WG is not willing or able to do the work to add
this feature to RDF/XML, but I feel reasonably safe assuming that.

>
> 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"] .
>
> 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.

-0: For me the objections out weigh the sadly limited utility.

>
>     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)
>
>
> 2. Add ^ property path syntax to Turtle.

-0: For me the objections out weigh the sadly limited utility.

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

-0.9: For me the objections out weigh the sadly limited utility, AND
"There should be one – and preferably only one – obvious way to do it"

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

In Turtle there is a very important section 5 Conformance Note:

"This specification does not define how Turtle parsers handle
non-conforming input documents."

If this feature has wide spread need I fully expect some
implementations to implement it, the Turtle parser will still very
much be conforming. Exactly what media type or how that not exactly
Turtle document might be provided is unclear but that hasn't ever
stopped anyone ;)

Cheers,
Gavin

Received on Friday, 17 August 2012 19:03:44 UTC