- From: Dan Connolly <connolly@w3.org>
- Date: Thu, 12 Jul 2007 14:21:57 -0500
- To: Ben Adida <ben@adida.net>
- Cc: mark.birbeck@x-port.net, RDFa <public-rdf-in-xhtml-tf@w3.org>, SWD WG <public-swd-wg@w3.org>
On Thu, 2007-07-12 at 12:02 -0700, Ben Adida wrote: [...] > Two questions, then: > - how does one declare that the range of an RDF property is a list? That one is easier, so I'll take it first: :brothers rdfs:range rdf:List. (there are ways of saying "list of person", but they're a little obscure and not terribly relevant to this discussion.) > - where are lists used in RDF? Good question. I don't know if they're sufficiently commonly used to merit special syntax in RDFa. (you can always spell them out with rdf:first/rdf:rest/rdf:nil). The main use I can think of is in OWL: <#Man> owl:intersectionOf ( <#Person> <#Male> <#Adult> ). This is in contrast with <#Man> owlx:intersectionOf <#Person>, <#Male>, <#Adult>. which is short for: <#Man> owlx:intersectionOf <#Person>. <#Man> owlx:intersectionOf <#Male>. <#Man> owlx:intersectionOf <#Adult>. I hope it's clear why that owlx construct won't work. Hmm... I thought this was written up in http://esw.w3.org/topic/ClosedWorldAssumptions or somewhere near there, but perhaps not, so consider: <#Dan> :brother <#Bob>, <#Tim>. <#Bob> owl:differentFrom <#Joe>. <#Tim> owl:differentFrom <#Joe>. We still don't know whether { <#Dan> :brother <#Joe> } or not. If we want the "and that's all!" property, we need to use lists: <#Dan> :brothers (<#Bob> <#Tim>). <#Bob> owl:differentFrom <#Joe>. <#Tim> owl:differentFrom <#Joe>. Assuming :brothers is functional, we know know that Joe is not among Dan's brothers. -- Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Thursday, 12 July 2007 19:22:12 UTC