- From: Toby Inkster <tai@g5n.co.uk>
- Date: Fri, 15 Jan 2010 12:21:59 +0000
- To: Danny Ayers <danny.ayers@gmail.com>
- Cc: jeremy@topquadrant.com, "semantic-web@w3.org" <semantic-web@w3.org>
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