The built-in OWL owl:differentFrom property links an individual to an individual.

An owl:differentFrom statement indicates that two URI references refer to different individuals.

owl:differentFrom has owl:Thing as domain and as range.


    <rdf:Property rdf:ID="differentFrom">


        <rdfs:domain rdf:resource="#Thing"/>

        <rdfs:range rdf:resource="#Thing"/>


Example listing




An example:

    <Opera rdf:ID="Don_Giovanni"/>

    <Opera rdf:ID="Nozze_di_Figaro">

        <owl:differentFrom rdf:resource="#Don_Giovanni"/>


    <Opera rdf:ID="Cosi_fan_tutte">

        <owl:differentFrom rdf:resource="#Don_Giovanni"/>

        <owl:differentFrom rdf:resource="#Nozze_di_Figaro"/>


This states that there are three different operas.

Other information

Many languages have a so-called "unique names" assumption: different names refer to different things in the world. On the web, such an assumption is not possible. For example, the same person could be referred to in many different ways (i.e. with different URI references). For this reason OWL does not make this assumption. Unless an explicit statement is being made that two URI references refer to the same or to different individuals, OWL tools should in principle assume either situation is possible.

OWL provides three constructs for stating facts about the identity of individuals:

For ontologies in which the unique-names assumption holds, the use of owl:differentFrom is likely to lead to a large number of statements, as all individuals have to be declared pairwise disjoint. For such situations OWL provides a special idiom in the form of the construct owl:AllDifferent. See following example:

    <WineSugar rdf:ID="Dry" />

    <WineSugar rdf:ID="Sweet">

        <owl:differentFrom rdf:resource="#Dry"/>


    <WineSugar rdf:ID="OffDry">

        <owl:differentFrom rdf:resource="#Dry"/>

        <owl:differentFrom rdf:resource="#Sweet"/>


This is one way to assert that these three values are mutually distinct. There will be cases where it is important to ensure such distinct identities. Without these assertions we could describe a wine that was both Dry and Sweet. We have stated that the hasSugar property applied to a wine has no more than one value. If we erred, and asserted that a wine was both Dry and Sweet, without the differentFrom elements above, this would imply that Dry and Sweet are identical. With the elements above, we would instead get a contradiction.

A more convenient mechanism exists to define a set of mutually distinct individuals. The following asserts that Red, White, and Rose are pairwise distinct.


        <owl:distinctMembers rdf:parseType="Collection">

            <vin:WineColor rdf:about="#Red" />

            <vin:WineColor rdf:about="#White" />

            <vin:WineColor rdf:about="#Rose" />



Use in ISO 15926