rdfowlprotegerdfs

Where to define AllDisjointClasses in Protege


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.


Solution

  • 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).