Menu

#1 IRI declared as both Annotation- and Object- properties

open
nobody
None
5
2016-06-14
2012-12-11
M Levin
No

For example,
line 413
<owl:AnnotationProperty rdf:about="http://purl.obolibrary.org/obo/OBI_0000299">...
line 2011
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/OBI_0000299">...

According to
http://www.w3.org/TR/2009/REC-owl2-mapping-to-rdf-20091027/#Analyzing_Declarations
this is illegal:
"For each x, at most one of OPE(x), DPE(x), and AP(x) is defined."

Another IRI with contradicting definitions is
http://purl.obolibrary.org/obo/OBI_0000293

Thank you

Mikhail

Discussion

  • jzheng

    jzheng - 2013-08-08

    has_specified_input (http://purl.obolibrary.org/obo/OBI_0000293)
    Were also defined as both Annotation and Object Properties. The annotationProperties were removed.

    IAO imported OBI terms:
    'has_specified_input' (OBI_0000293) and
    'has_specified_output' (OBI_0000299)
    in externalByHand.owl.

    Don't know why Protege loaded them as both ObjectProperty (subProperty and inverse property) and AnnotationProperty (domian) when open IAO.owl which import externalByHand.owl. Using Protege opened externalByHand.owl, it can load correctly. When save the files using Protege, the terms were saved as both ObjectProperty and AnnotationProperty. It likes that the bug was brought in during merge/save OWL files using Protege.

    After cut and pasted two terms to the externalDerived.owl file, everything looks good. It would be great if someone can look into it to see why it happened. I tried different ways but still cannot figure out.

     
  • James A. Overton

    I ran into a similar problem recently. The fix seemed to be to declare any classes that the relations depend on (i.e. for domain and range) as owl:Class in the OWL file (i.e. external-by-hand.owl).