Search Mailing List Archives
[protege-owl] Problems with "rdf:type" constructs
tar at ISI.EDU
Thu Aug 9 09:46:36 PDT 2007
On Aug 8, 2007, at 6:24 PM, Roberto Alves Gueleri wrote:
> I have experienced some troubles in attempting to work with owl
> ontologies containing metaclasses, dealing with "rdf:type" constructs.
> An example of this problem:
> I've the following ontology, which contains a metaclass called
> "MetaClassA", three classes ("ClassA", "ClassB" and "ClassC"), and
> an instance of "ClassA" called "IndividualA". Note that
> "MetaClassA" is an occurrence of "owl:Class", so it is an owl
> class, but it plays the role of a metaclass by asserting that the
> other three classes ("ClassA", "ClassB" and "ClassC") are its
> occurrences, by means of "rdf:type" constructs.
Perhaps the problem is that you don't have any assertion that
MetaClassA is a sub class of owl:Class. Try adding that.
> Note that constructions of the form:
> <owl:Class rdf:ID="ClassA">
> <rdf:type rdf:resource="#MetaClassA"/>
> were automatically changed by Protégé to the form:
> <MetaClassA rdf:ID="ClassA">
> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class "/>
> Now if I try to open the new ontology, some errors will be reported
> by Protégé and the ontology won't open. Below the errors reported
> are showed:
> There were errors at performing operation.
> 1. Exception class
> Message: The resource IndividualA has the rdf:type ClassA which is
> not a class but a
Yes, this is caused by Protege not recognizing that MetaClassA is a
subclass of owl:Class, so when it encounters the the construct
creating ClassA, it doesn't know that it should create a class object
instead of an individual object. This should be fixed if you make
sure that MetaClassA is known to be a subclass of owl:Class.
More information about the protege-owl