Correct Usage of rdfs:idDefinedBy in Vocabulary Specifications with a Hash-based URI Pattern

Dear all:

We use rdfs:isDefinedBy in all of our vocabularies (*) for linking  
between the conceptual elements and their specification.

Now, there is a subtle question:

Let's assume we have an ontology with the main URI

	http://purl.org/vso/ns

All conceptual elements are defined as hash fragment URIs (URI  
references), e.g.

	http://purl.org/vso/ns#Bike

The ontology itself (the instance of owl:Ontology) has the URI

	http://purl.org/vso/ns#

<http://purl.org/vso/ns#>  a owl:Ontology ;
     owl:imports <http://purl.org/goodrelations/v1> ;
     dc:title "VSO: The Vehicle Sales Ontology for Semantic Web-based  
E-Commerce"@en .

So we have two URIs for the ontology:

1. http://purl.org/vso/ns# for the ontology as an abstract artefact
2. http://purl.org/vso/ns for the syntactical representation of the  
ontology (its serialization)

Shall the rdfs:isDefinedBy statements refer to #1 or #2 ?

#1
vso:Vehicle a owl:Class ;
     rdfs:subClassOf gr:ProductOrService ;
     rdfs:label "Vehicle (gr:ProductOrService)"@en ;
     rdfs:isDefinedBy <http://purl.org/vso/ns#> .  <===========

#2
vso:Vehicle a owl:Class ;
     rdfs:subClassOf gr:ProductOrService ;
     rdfs:label "Vehicle (gr:ProductOrService)"@en ;
     rdfs:isDefinedBy <http://purl.org/vso/ns> .   <===========


I had assumed they shall refer to #1, but that caused some debate  
within our group ;-)

Opinions?

Best

Martin

Received on Thursday, 30 September 2010 07:07:21 UTC