- From: Stephen Cranefield <SCranefield@infoscience.otago.ac.nz>
- Date: Mon, 13 Aug 2001 11:32:00 +1200
- To: www-rdf-interest@w3.org
Sean Palmer wrote (in reply to me): > > I agree with the comments that have been made on this mailing > > list about the inappropriateness of using the http URL scheme > > for names - especially those representing RDF schemas. > > That depends upon how you define "inappropriate". Clearly, URLs as > names *do* work, and there is a huge amount of practical evidence to > support that (i.e. however many RDF documents there are out there, the > majority of which use URLs as terms). Yes, I agree that URLs as names work. However I think their current widespread use for schema namespaces is leading to two distinct things becoming confused: 1) The name assigned to a concept within a schema (which is unique) 2) A location of the definition of the concept While it can be convenient if the namespace URI can also be used to retieve the definition of the schema, it is not required that an XML namespace URI correspond to a retrievable resource. Therefore, even though most (if not all) schemas available today use URLs for their names, the Semantic Web community still needs to address the question of how to locate the definition of a schema based on a namespace that is not identified by a URL. To take an extreme example, it seems that it would be legitimate to use a data: URI for the namespace of a schema - this means that the concepts defined in the schema would (via the QName to URI mapping) also have data: URIs. This might be OK for concept names (I'm not sure about this), but it certainly gives no clue about how to locate the definition when you come across some instance data expressed in terms of this concept. The property rdfs:isDefinedBy provides one mechanism, although it's not clear to me from its definition if this can be used to associate a namespace URI with a URL, or whether it must be used repeatedly to map each individual concept name to the resource that defines it (can anyone comment on this?). Anyway, here are some possible conventions for locating the definitions of an RDF class or property: 1) Given the URI for an RDF class or property, check if rdfs:isDefinedBy is defined for that URI, and if so, follow that property to find the document containing the definition. 2) If this property wasn't defined, check if rdfs:isDefinedBy is defined for the entire namespace (assuming this is a correct use of rdfs:idDefinedBy) 3) If rdfs:isDefinedBy is not defined for the namespace either, and the URI is actually a URL, then that URL must be both the name and and the location of the definition of the concept (ugh!) 4) If the URI is a URN then the URN scheme may define how to retrieve the schema. If the URN scheme is simply a mechanism for persistent URLs (rather than something more specialised for RDF) then this may also mean that the name and definition are considered to be the same. 5) If the above options fail, you're either out of luck, or you stop relying on existing Web infrastructure to solve the problem and start using more specialised Semantic Web infrastructure (if any is forthcoming) such as well-known (or even globally federated) schema repositories. - Stephen
Received on Sunday, 12 August 2001 19:30:43 UTC