Dear all:

I am considering to rename a few conceptual elements in the GoodRelations 
ontology. However, they are already in use in data, queries, and applications. 
Thus, I am thinking of the least intrusive way of implementing this. I think 
this question is also relevant for many other OWL vocabularies on the Web.

Attached, please find my proposal. It critically depends on the ability of 
typical triple-stores to compute basic(*) inferences for

- owl:equivalentProperty for owl:DatatypeProperty and owl:ObjectProperty 
entities,
- owl:equivalentClass for pairs of owl:Class and
- owl:sameAs for pairs of "ontological" instances, e.g. value nodes defined in 
the vocabulary.

With "basic", I mean that additional triples for the additional class 
membership or property or instance must be materialized; this could be a subset 
of the complete theoretical implications.
As far as I know, Virtuoso does support this to a sufficient degree, but I am 
unsure about other parts of widely deployed infrastructure.

It would be no problem to express the necessary inferences by means of a SPARQL 
CONSTRUCT rule or in SPIN.

Please share any suggestions and concerns with me.

Old, but in use:
---------------
foo:LongClassName a owl:Class ;
        rdfs:label "LongClassName" .

foo:LongPropertyName1 a owl:DatatypeProperty ;
        rdfs:domain foo:LongClassName ;
        rdfs:label "LongPropertyName1" .

foo:LongPropertyName2 a owl:ObjectProperty ;
        rdfs:domain foo:LongClassName ;
        rdfs:range foo:SomeOtherClass1 ;        
        rdfs:label "LongPropertyName1" .

foo:LongNameIndividual a foo:SomeOtherClass2 ;
        rdfs:label "LongNameIndividual" .

Now, we want to rename those elements as follows, without breaking old data nor 
old queries / applications:

foo:LongClassName --> foo:NewClassName
foo:LongPropertyName1 --> foo:NewPropertyName1
foo:LongPropertyName2 --> foo:NewPropertyName2
foo:LongNameIndividual --> foo:NewNameIndividual

Proposal:
--------
a) Step 1: Define new classes, properties, individuals and link back to their 
old variants

foo:NewClassName a owl:Class ;
        owl:equivalentClass foo:LongClassName .
        rdfs:label "NewClassName (Note: This was foo:LongClassName previously)" 
.

foo:NewPropertyName1 a owl:DatatypeProperty ;
        owl:equivalentProperty foo:LongPropertyName1 ;
        rdfs:domain foo:NewClassName ;
        rdfs:label "NewPropertyName1 (Note: This was foo:LongPropertyName1 
previously)" .

foo:NewPropertyName2 a owl:ObjectProperty ;
        owl:equivalentProperty foo:LongPropertyName2 ;
        rdfs:domain foo:NewClassName ;
        rdfs:range foo:SomeOtherClass1 ;        
        rdfs:label "NewPropertyName2 (Note: This was foo:LongPropertyName2 
previously)" .

foo:NewNameIndividual a foo:SomeOtherClass2 ;
        owl:sameAs foo:LongNameIndividual ;
        rdfs:label "NewNameIndividual (Note: This was foo:LongNameIndividual 
previously)" .

b) Step 2: Deprecate the old elements in OWL 2 style (using owl:deprecated)
foo:LongClassName a owl:Class;
        owl:deprecated true;
        rdfs:label "LongClassName - Deprecated, use foo:NewClassName instead" .

foo:LongPropertyName1 a owl:DatatypeProperty ;
        owl:deprecated true;
        rdfs:domain foo:LongClassName ;
        rdfs:label "LongPropertyName1 - Deprecated, use foo:NewPropertyName1 
instead" .

foo:LongPropertyName2 a owl:ObjectProperty ;
        owl:deprecated true ;
        rdfs:domain foo:LongClassName ;
        rdfs:range foo:SomeOtherClass1 ;        
        rdfs:label "LongPropertyName1 - Deprecated, use foo:NewPropertyName2 
instead" .

foo:LongNameIndividual a foo:SomeOtherClass2 ;
        owl:deprecated true ;
        rdfs:label "LongNameIndividual - Deprecated, use foo:NewNameIndividual 
instead" .

c) Since the owl:deprecated property is not defined in OWL1, I would also add 
the following axiom in order to remain within OWL 1 DL:
#OWL 1 DL compatibility of the OWL2 deprecated property
owl:deprecated a owl:AnnotationProperty.

Thanks in advance!

Best

Martin

--------------------------------------------------------
martin hepp
e-business & web science research group
universitaet der bundeswehr muenchen

e-mail:  [email protected]
phone:   +49-(0)89-6004-4217
fax:     +49-(0)89-6004-4620
www:     http://www.unibw.de/ebusiness/ (group)
         http://www.heppnetz.de/ (personal)
skype:   mfhepp 
twitter: mfhepp



Reply via email to