Re: Requirements for a possible "RDF 2.0"

On Fri, 2010-01-15 at 11:57 +0100, Danny Ayers wrote:
> Aside from a little  tidiness, what would we actually gain through
> going the whole hog on what can go in which position in the triple?
> 
> blank node predicate - what does that tell you that an rdfs:seeAlso
> wouldn't?

<#school>
  [
    rdfs:subPropertyOf ex:teacher ;
    rdfs:label "maths teacher" ;
    ex:relatedTopic dbpedia:Mathematics
  ]
    <#joe> .

<#band>
  [ rdfs:subPropertyOf foaf:member ; ex:relatedInstrument <#bongo> ] 
    <#jim> .

These structures are of course already permissible in RDF, but only if
you're willing to commit to giving the property a URI.

> literal subject - aside from quotations:
> 
> "I can't really see how it would be useful" <x:saidBy> <#me> . 

If the above was the only use case, then it would not be especially
useful - you'd simply create a x:didSay predicate that worked in the
reverse direction. With blank node predicates that's even easier:

  <#me>
    [ owl:inverseOf x:saidBy ] 
      "I can't really see how it would be useful" .

But that's not the only use case. Consider relationships between two
literals:

  "Toby Inkster" foaf:sha1 "4296ab2b2243bdb1e3cd1952158d2ce5464ea10c" .

I can imagine wanting to do things like:

  SELECT ?person ?hash
  WHERE {
    ?person ex:password ?pwd .
    ?pwd foaf:sha1 ?hash .
    FILTER (?hash = "672059bd1419f8b90633fc2d02529be0de2fa614") 
  }

Both blank node predicates and literal subjects are already allowed by
N3 and are theoretically allowed by SPARQL (though I don't know of any
implementations that choose to support them).

-- 
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>

Received on Friday, 15 January 2010 12:22:41 UTC