Re: rev and the costs of inverses/aliases in SPARQL

On Mon, Mar 8, 2010 at 4:00 PM, Dan Connolly <connolly@w3.org> wrote:

> I just ran into this message again from an HTML 5 validator:
>
> "The rev attribute on the a element is obsolete. Use the rel attribute
> instead, with a term having the opposite meaning."
>
> This seems to encourage the pattern of minting an inverse
> for each property, a la:
>
>  abridgement
>  abridgementOf
>  -- http://vocab.org/frbr/core.html
>
> Doesn't that just gum up the works when doing SPARQL queries? Which
> do you query for, abridgement or abridgementOf? Or do you use
> a UNION?
>
> It's one thing to discover, post-hoc, that two properties are
> inverses of each other, and to write down that relationship.
> But to make up these inverse-aliases by choice seems like
> a big waste, to me.
> (see also http://esw.w3.org/topic/HasPropertyOf bit on inverses and
> aliases)
>
> How are SPARQL users dealing with this in practice?
>
>
> Meanwhile, RDF/XML doesn't have syntax for inverting a relationship
> (a la is/of in N3), and there's data that says rev="..." is
> too confusing for HTML authors to use.
>
> "The short answer is unfortunately "NO". Use of "rev" SHOULD be
> avoided."
>  -- http://microformats.org/wiki/rel-faq
> "the only <link rev=""> link to appear is rev="made" (to point to the
> author's page) — and the latter is not used that much more than the more
> sensible rel="author". Also, ironically, just off the graph in position
> 21 is rel="made", probably showing that the distinction between rel and
> rev may be too subtle for many authors."
>  -- http://code.google.com/webstats/2005-12/linkrels.html
>
>
> Would the RDFa authoring community miss a/@rev if it went away?
> Does anyone have 1st-hand experience to share?
>

As a pre-RDFa dinosaur, I can share some RDF/XML experience:

because of RDF/XML's nesting, and pre-2004 the lack of bnode IDs, surface
syntax concerns influenced vocabulary design. In FOAF for example, we ended
up with a pair of inverses: foaf:depiction and foaf:depicts, and this
despite sharing your concern about needless proliferation and consequent
fragmentation of the data.

<Person>
 <depiction>
  <Image/>
 </depiction>
</Person>

vs

<Image>
 <depicts>
  <Person/>
 </depicts>
</Image>

The latter XML nesting idiom appealed to those who felt their markup was
primarily 'about' images, and the persons mentioned in passing. The former
where the focus was the person. Although bnode IDs or URIs can be used to
break things out into two parallel XML elements, that doesn't pass
everyone's beauty test either.

I welcomed rev= in RDFa as a way of decoupling surface syntax detail from
vocab design, and hope to see it supported in HTML5 / RDFa...

Cheers,

Dan

Received on Monday, 8 March 2010 15:23:38 UTC