OWL2: Is it possible put Annotation on an ObjectIntersectionOf?

Hello,

(crossposted this question at stackoverflow, link below[1])


I know I can put annotations on a SubClassOf relation:

SubClassOf(
    Annotation(rdfs:comment "This annotation is valid")
    ObjectIntersectionOf(
        ObjectHasValue(:prop1 :instance1)
        ObjectHasValue(:prop2 :instance2)
    )
    ObjectHasValue(:prop3 :instance3)
)

However, what I really wanted to do is this:

SubClassOf(
    ObjectIntersectionOf(
        Annotation(rdfs:comment "This annotation is invalid")
        ObjectHasValue(:prop1 :instance1)
        ObjectHasValue(:prop2 :instance2)
    )
    ObjectHasValue(:prop3 :instance3)
)

What I want is to create an annotation meaningful to all objects with the
relations :prop1 :instance1 and :prop2 :instance, and not to the subclass
relation.

I don't want to create a class for the ObjectIntersectionOf, as I will have
thousands of such classes on my real example.

Running pellet 2.3.1 on the file below yields the following error:

...

--------------------------------------------------------------------------------
Parser: OWLFunctionalSyntaxOWLParser
Encountered "" at line 8, column 9.
Was expecting one of:
     (Line 7)

...

draft2.owl

Prefix(rdfs:=http://www.w3.org/2000/01/rdf-schema#)

Prefix(:=http://cipe.accamargo.org.br/ontologias/tnm.owl#)

Ontology(<http://cipe.accamargo.org.br/ontologias/tnm.owl>

SubClassOf(
    ObjectIntersectionOf(
        Annotation(rdfs:comment "This annotation is invalid")
        ObjectHasValue(:prop1 :instance1)
        ObjectHasValue(:prop2 :instance2)
    )
    ObjectHasValue(:prop3 :instance3)
)



1:
http://stackoverflow.com/questions/31142329/owl2-is-it-possible-put-annotation-on-an-objectintersectionof


--
diogo patrĂ£o

Received on Tuesday, 30 June 2015 20:39:27 UTC