Hi Tim,
I hacked up some code to test loading the small ontologies that you
provided (thanks for the nice minimal test case by the way).
When I parse the ontologies I get the following axioms:
http://www.tigraworld.com/protege/top.owl
SubClassOf(ctop Thing)
SubClassOf(ctop ObjectAllValuesFrom(p ctop))
EntityAnnotationAxiom(ctop Annotation(aRealAnnotationProperty
"some value"^^string))
Imports(http://www.tigraworld.com/protege/top.owl -> http://www.tigraworld.com/protege/middle.owl)
http://www.tigraworld.com/protege/lowest.owl
SubClassOf(clowest Thing)
SubClassOf(clowest ObjectSomeValueFrom(p clowest))
http://www.tigraworld.com/protege/middle.owl
Imports(http://www.tigraworld.com/protege/middle.owl -> http://www.tigraworld.com/protege/lowest.owl)
With the current version of the OWL API aligned to the current OWL 1.1
spec, I believe that this is the correct behaviour.
However, whether this is desirable or not is another case. In fact,
it's probably undesirable.
I think the main problem is that it is impossible to annotate
annotation URIs (what used to be called annotation properties).
Therefore, given,
<owl:AnnotationProperty rdf:ID="alowest"/>
<owl:AnnotationProperty rdf:ID="aRealAnnotationProperty">
<alowest rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>we are trying to mess up alowest?</alowest>
</owl:AnnotationProperty>
all of the above will be discarded.
If we don't know that "alowest" and "aRealAnnotationProperty" are
annotation URIs, then the parser attempts a best guess by looking at
the objects of any triples. In this case it will see that the object
of the "aRealAnnotationProperty, alowest, ..." is a literal. It will
therefore assume that "aRealAnnotationProperty" is an individual and
"alowest" is a data property.
I think a bug report or issue needs to be filed with the OWL 1.1
working group. I'll have a chat with people at coffee this morning
and see what they think.
Cheers,
Matthew
On 5 Mar 2008, at 23:53, Timothy Redmond wrote:
>
> I have replicated the problem on a small owl file. The example could
> probably be made smaller but it is pretty small. Opening top.owl in
> Protege 4 leads to the same funny results described below.
>
> -Timothy
>
>
>
> On Wed, 2008-03-05 at 14:48 -0800, Timothy Redmond wrote:
>> When one tries to load the birnlex annotation properties ontology [1]
>> into the Protege 4 owl editor some strange things happen. For some
>> reason the annotation properties annotationPropertyDomain and
>> annotationPropertyRange both appear as Datatype properties.
>> Presumably
>> because of this annotation properties (hasCurationStatus) appear in
>> the
>> individuals tab. The obvious theories are
>>
>> 1. the birnlex ontology has a bug
>> 2. the owlapi has a bug
>> 3. Protege has a bug.
>>
>> We did some looking in the birnlex ontology and didn't see what was
>> causing the problem. There is a broken import but this doesn't
>> seem to
>> cause the problem. It is not caused by the Protege3 annotation +
>> datatype property declarations. In fact the birnlex group has gone
>> to
>> some trouble to root these out. There are several annotation
>> properties
>> being applied to annotation properties but this seemed to work on
>> small
>> examples. We were unable to figure out where things went wrong
>> and did
>> not succeed in making a smaller example of the problem.
>>
>> Even if (1) is the case it would be nice if something good could
>> happen
>> in this case so that these users could continue to use the owl api.
>>
>> -Timothy
>>
>>
>> [1]
>> http://purl.org/nbirn/birnlex/ontology/annotation/BIRNLex_annotation_properties.owl
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> Owlapi-developer mailing list
>> Owlapi-developer@...
>> https://lists.sourceforge.net/lists/listinfo/owlapi-developer
> <
> lowest
> .owl
> >
> <
> middle
> .owl
> >
> <
> top
> .owl
> >
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/_______________________________________________
> Owlapi-developer mailing list
> Owlapi-developer@...
> https://lists.sourceforge.net/lists/listinfo/owlapi-developer
|