- From: Martin Hepp <martin.hepp@ebusiness-unibw.org>
- Date: Thu, 21 Apr 2011 11:46:31 +0200
- To: semantic-web@w3.org, public-lod@w3.org
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: hepp@ebusiness-unibw.org 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
Received on Thursday, 21 April 2011 09:48:34 UTC