- From: Frank Manola <fmanola@acm.org>
- Date: Thu, 10 Feb 2005 11:46:04 -0500
- To: Karsten Tolle <tolle@dbis.informatik.uni-frankfurt.de>
- CC: "Www-Rdf-Interest@W3.Org" <www-rdf-interest@w3.org>
Hi Karsten-- Yes, there's something of an "inconsistency", but it's just in the descriptions used in the documents, not in the essential meaning. Read on. Karsten Tolle wrote: > Hi, > > > > sorry, I could not manage to scan the entire archive if this issue has been > > raised before. So, in case it has been already discussed, please, send > me the > > link to it. > > > > During exploring the RDF recommendations I discovered an inconsistency > > for containers. While in RDF Schema (5.1) and in RDF Semantics (4.1) > > container members are defined to be resources only, we can read in the > > RDF Primer (4.1) that members can be either resources or literals. > Actually, all the documents are "correct" about this. If you look carefully, both RDF Schema and RDF Semantics define "resource" as including *everything*, including literals (and RDF Schema defines rdfs:Literal as a subclass of rdfs:Resource). So while RDF Schema and RDF Semantics define container members to be resources, as far as they are concerned that's not a constraint, because resources include literals. Primer mostly refers to either literals or URIrefs, but in describing containers it describes members as being either resources or literals. Technically, that's a bit redundant, due to the way RDF Semantics defines resources (as including literals), and probably this could have been explained better (independently of containers), but it was intended to emphasize that you could have literals as members of containers too. > > > If the RDF Primer is right and members can be resources or literals > > (à no rdfs:range defined for rdfs:member), we might have: > > _:x rdf:type rdf:Seq > > _:x rdf:_1 “test” > > _:x rdf:_1 http://www.example.com > > As discussed above, yes, you can have this. BTW: RDF Test Cases has an example of a container having literal members. > > one could (I am not 100% sure about this) entail that “test” and > > http://www.example.com are equal. (I think this is at least one reason why > > literals are not used in Collections.) > You can't show this entailment in RDF and, as noted above, literals *are* used in *containers* (I tend to reserve "Collections" for the list-thingies; you can use literals in them too). The objects of the two statements are different, and RDF attaches no particular semantics to the rdf:_1 properties, so they are just two statements using the same predicate. It's as if you'd said _:x ex:author "John Smith" _:x ex:author http://example.com/authors/#72345 This doesn't entail that the two authors are the same person (there might be two authors, referred to differently). > > > If RDF Schema and RDF Semantics are right, we have the problem that it is > > very difficult to describe a set of literals or a mixture of literals > and resources > > in RDF. > As noted already, you don't have this problem. --Frank
Received on Thursday, 10 February 2005 16:38:45 UTC