Reproducing Gregg/Niklas' thoughts (@itemref issue)

Hi guys,

I tried to reproduce what Gregg/Niklas were considering yesterday and, I believe, here are the rules that we may define and then use a post-processing step on the resulting graph that execute those:

INSERT DATA {
  ?x ?p ?y .
}
DELETE DATA {
  ?x rdfa:ref ?PR .
  ?PR ?p ?y .
}
WHERE {
  ?x rdfa:ref ?PR .
  ?PR ?p ?y.
  ?PR a rdfa:Prototype .
}

Ie, if I have somewhere:

  <div resource="#p" typeof="rdfa:Prototype">
    <span property="foo">bar</span>
  </div>
  ...
  ...

  <div resource="#A">
    <span property="yep">Yep Yep</span>
    <span property="rdfa:ref" resource="#p"/>
  </div>

then what I would the following graph:

<#A>
  <yep> "Yep Yep" ;
  <foo> "bar" .

<#p> a rdfa:Prototype ;
  <foo> "bar" .


Which is roughly a @itemref as we know it. I think it works and can be implemented without too much problems.

Here, though, the problems I see with this. I do not consider these as show stoppers but we have to realize those

- As you see, the triples on the prototype itself also make it in the final graph. I am not sure it is o.k., but I also do not know how to remove them. We could define, in the SPARQL 1.1 terms, some sort of a property path based DELETE DATA clause, but implementation of that might be a bit difficult. I am not sure it is worth it.

- The pattern I used above is of course fine. But what happens if the user does the following:

<div property="rdf:type" resource="rdfa:Prototype>
  <span property="foo">bar</span>
</div>

the subject, ie, the ?PR in the SPARQL pattern, would be anything that was inherited, which may lead to funny situations. In other words, we do give a rope to the user to hand himself, although I agree that this is very much a corner case.

- Would the execution of those rules be a required feature? If so, we would have to talk to the Google implementers (via DanBri) whether they would implement this at all. If not, the major use case of introducing this falls...

Food for thought...

Ivan


----
Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Friday, 7 December 2012 15:20:54 UTC