1
votes

i m learning owl and i see example in https://www.w3.org/TR/owl2-primer/

[] rdf:type owl:AllDisjointClasses ; owl:members ( :Woman :Man ) .

wonder where to define AllDisjointClasses on protege class view?

there's a Disjoint With on each class's description view, is this the same thing?

and when i put that statement in turtle syntax than open the source file, the protege throw an error dialog.

1
Yes, the same, but owl:disjointWith is only for two class expressions. Can you try [ a owl:AllDisjointClasses ; owl:members ( :Woman :Man ) ] . ? It is seems to be a OWLAPI4 bug, which is used by Protege: both constructions are valid N3 and Turtle (there is also an open issue github.com/protegeproject/protege/issues/775 , but it seems the description is wrong now, it is fixed in Turtle 2013)ssz
@ssz it works. and the view show disjointWith on description view.crapthings

1 Answers

1
votes

members are elements of a RDF Collection. So adding the statements by hand is not easy as only two statements.

Here is an example in Turtle serialisation:

[ rdf:type owl:AllDisjointClasses ;
  owl:members ( :URI1
                :URI2
                :URI3
              )
] .

Here is the same example in XML serialisation:

<rdf:Description>
  <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AllDisjointClasses"/>
  <owl:members rdf:parseType="Collection">
    <rdf:Description rdf:about="URI1"/>
    <rdf:Description rdf:about="URI2"/>
    <rdf:Description rdf:about="URI3"/>
  </owl:members>
</rdf:Description>

In Protégé, the simpliest way to achieve this is to define a class as disjoint with other Classes in the Class Hierarchy tab (holding CTRL pressed allow you to add multiple elements to the collections).