- From: Jeremy Carroll <jeremy@topquadrant.com>
- Date: Tue, 10 Nov 2009 23:29:36 +0100
- To: Simon Reinhardt <simon.reinhardt@koeln.de>
- CC: Ian Emmons <iemmons@bbn.com>, semantic-web@w3.org, public-lod@w3.org
Hi Simon I have only just seen your question about namespaces and saw that the discussion so far has missed discussing the relevant namespace standards (even the somewhat silly dispute about whether TopBraid Composer follows the standards concerning namespaces and XML Base: for the record, it does). Basically there are three: XML Namespaces [1], RDF Schema, and RDF/XML Syntax. OWL, for example, defers to all three of these. There is a foundational issue in that XML Namespaces were done in a bit of a hurry, and then the way that RDF interacts with them isn't the same as when they are being used in XML. So first: from the point of view of the logical meaning of an RDF or OWL document, namespaces are completely irrelevant. The role of namespaces is to organize names into (informal) collections, for the convenience of the user (in this case the ontologist). Hence, if you find it more convenient to use one namespace instead of several then you should. There is quite a gap between the Namespaces in XML Rec. and RDF. The former says simply: [[ Definition: An *XML namespace* is identified by an IRI reference [RFC3987] <http://www.w3.org/TR/2006/REC-xml-names11-20060816/#IRIRef>; element and attribute names may be placed in an XML namespace using the mechanisms described in this specification. ]] so that a namespace is a collection of names. RDF/XML [2] gives a mechanism for mapping namespace qualified names to RDF URI References (intended to be compatible with IRI Refs), and hence to URIRef nodes in an RDF graph. RDF Schema [3] (the RDF Vocabulary Description Language) then gives informal definitions to the various names in both the rdf and rdfs namespaces. A key half paragraph giving insight into the relationship between namespaces and vocabularies is found in: [[ The core vocabulary is defined in a namespace informally called 'rdfs' here. That namespace is identified by the URI-Reference http://www.w3.org/2000/01/rdf-schema# and is associated with the prefix 'rdfs'. This specification also uses the prefix 'rdf' to refer to the RDF namespace <http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#section-Namespace> http://www.w3.org/1999/02/22-rdf-syntax-ns#. ]] The relationship between vocabularies (and ontologies) and namespaces is informal. Often the terms in a vocabulary or ontology are defined in one or two namespaces. There is no prohibition on using a vocabulary in which every term is from its own namespace. The use of namespaces allows us to use prefixes, which allows us to avoid writing cumbersome URIs too many times. Jeremy Carroll TopQuadrant [1] http://www.w3.org/TR/2006/REC-xml-names11-20060816/ [2] http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ [3] http://www.w3.org/TR/2004/REC-rdf-schema-20040210/ > > On Oct 26, 2009, at 10:25 AM, Simon Reinhardt wrote: >> Hi, >> >> It is becoming somewhat popular for large ontologies to be split into >> a core ontology file and module ontology files (which import the >> core). Normally each module then gets its own namespace for the terms >> defined in it. I was wondering though if that is too complicated for >> users of the ontologies. I have seen confusion of "sioc" and "sioct" >> (the prefixes for the SIOC core and the SIOC Types module namespaces) >> and when such vocabularies get higher adoption by people not so well >> versed with ontologies I can see it happen a lot more often. >> >> So as an alternative I want to explore the idea of just using one >> namespace shared between the core and the modules. The advantage >> would be not having to guess which namespace to use. One disadvantage >> for the developer(s) of the ontology is that a "local name" can only >> be used in one of the modules or core, you can't use the same "word" >> under a different namespace with a different meaning. Another >> disadvantage is that if you want the terms to dereference to the >> ontology files they have been defined in then you can only do that >> with a "/" namespace (and you have to set up lots of redirects). >> >> My questions: What do you think of that idea? Can you see any other >> advantages or disadvantages? Do you think several namespaces are not >> confusing at all? And what are the main advantages to splitting up >> ontologies into modules other than being easier to organise? Do they >> justify a higher burden on the ontology users? >> >> Thanks, >> Simon
Received on Tuesday, 10 November 2009 22:30:23 UTC