|
Assume I have in my ontology Class A with owl:versionInfo 'version 1' Then I have to make a correction in its definition, thus creating 'version 2' Do I have to change the ID of Class A for that 'version 2'? rdf:ID only allows for one occurance of the name. Or must I use rdf:about for the second version, and deprecate version 1? Please give an example listing. Thanks! |
|
First of all, the "rdf:ID vs rdf:about" question doesn't take you any further here, since it is only about a certain aspect of the RDF/XML syntax and has nothing to do with RDF or OWL itself. (Just as a side note, using rdf:about always is probably a good idea, as long as you write your RDF/XML by hand [which is, however, probably never a good idea :-)] ). Your real question appears more to be a question of ontology management, more concretely: ontology update. It should be clear that you should not simply add the new definition of class A to the ontology, because then you would have the axioms from both the old and the new definition for A in your ontology - bad idea! Rather, you have to replace the old class definition. (And in this case, there is not even a need for discussing the "ID vs about" question then, just as another side note.) So, actually, you are about to create a new version of your original ontology, which then contains the new definition of the class A. And this brings us to the topic of ontology versioning! There is some discussion about ontology versioning in the OWL 2 spec:
The basic idea is to always have two URIs for your ontology:
The ontology URI is just the URI of the ontology header, as it has always been. The version URI is defined by property So, in your case, the situation might look as follows (using Turtle instead of RDF/XML for good reasons :-)): Old version of ontology:
New version of ontology:
If you like, you might add an additional In both versions of the ontology, the URI prefix of all defined entities, including class A, should be that of the ontology URI, not the version URI. Otherwise, it would not make much sense anymore to talk about different versions of the "same" ontology. Edit: In order to keep track of the version of the class A itself, it is still a good idea to add the property In old version of ontology:
In new version of ontology:
Thanks, Michael! The use of the word Version is somewhat misleading, because, if I understand you well, you then create another class, with a link to its predecessor. That was the problem we were facing in designing an artefact, for example a Mercedes 500 SEL. If you change one aspect of it, it becomes another class, and then version management becomes rather complex. We found a solution for that, see link text . Mercedes 500 SEL then is the UrClass. [just info, I don't expect comments; thanks again!] @hanst: I have converted your reply into a comment to my answer. You have originally posted your reply as an answer to the original question, which is not appropriate. @hanst: I am creating a new version of the /ontology/, and the predecessor link is from the new ontology version to the old ontology. It is slightly like in the case of the software versioning system Subversion, where each change of, say, a class definition in some Java program leads to a new version of the entire repository. In order to keep track of the version of the /class/ itself, it is still a good idea to add the property owl:versionInfo to the class. I'll add this point to my answer above. |
|
I know a website which has detailed owl web, you can go in and have a look http://www.w3.org/TR/owl-guide/. |

