Interface AllDifferent

All Superinterfaces:
FrontsNode, OntResource, RDFNode, Resource
All Known Implementing Classes:
AllDifferentImpl

public interface AllDifferent extends OntResource

Interface defining an individual in which all members of a collection are declared pair-wise disjoint. This allows ontologies that wish to support the unique names assumption to add this condition in languages (like OWL) that do not make the same assumption, with a minimum number of statements. Instances of the all different axiom are expected to have a property (e.g. owl:distinctMembers defining the list of distinct individuals in the ontology. For a given vocabulary, this will be defined by the distinctMembers entry.

  • Method Details

    • setDistinctMembers

      void setDistinctMembers(RDFList members)

      Assert that the list of distinct individuals in this AllDifferent declaration is the given list. Any existing statements for distinctMembers will be removed.

      Parameters:
      members - A list of the members that are declared to be distinct.
      Throws:
      ProfileException - If the Profile.DISTINCT_MEMBERS() property is not supported in the current language profile.
    • addDistinctMember

      void addDistinctMember(Resource res)

      Add the given individual to the list of distinct members of this AllDifferent declaration.

      Parameters:
      res - A resource that will be added to the list of all different members.
      Throws:
      ProfileException - If the Profile.DISTINCT_MEMBERS() property is not supported in the current language profile.
    • addDistinctMembers

      void addDistinctMembers(Iterator<? extends Resource> individuals)

      Add the given individuals to the list of distinct members of this AllDifferent declaration.

      Parameters:
      individuals - An iterator over the distinct invididuals that will be added
      Throws:
      ProfileException - If the Profile.DISTINCT_MEMBERS() property is not supported in the current language profile.
    • getDistinctMembers

      RDFList getDistinctMembers()

      Answer the list of distinct members for this AllDifferent declaration.

      Returns:
      The list of individuals declared distinct by this AllDifferent declaration.
      Throws:
      ProfileException - If the Profile.DISTINCT_MEMBERS() property is not supported in the current language profile.
    • listDistinctMembers

      ExtendedIterator<? extends OntResource> listDistinctMembers()

      Answer an iterator over all of the individuals that are declared to be distinct by this AllDifferent declaration. Each element of the iterator will be an OntResource.

      Returns:
      An iterator over distinct individuals.
      Throws:
      ProfileException - If the Profile.DISTINCT_MEMBERS() property is not supported in the current language profile.
    • hasDistinctMember

      boolean hasDistinctMember(Resource res)

      Answer true if this AllDifferent declaration includes res as one of the distinct individuals.

      Parameters:
      res - A resource to test against
      Returns:
      True if res is declared to be distinct from the other individuals in this declaration.
      Throws:
      ProfileException - If the Profile.DISTINCT_MEMBERS() property is not supported in the current language profile.
    • removeDistinctMember

      void removeDistinctMember(Resource res)

      Remove the given resource from the list of distinct individuals. If this statement is not true of the current model, nothing happens.

      Parameters:
      res - A resource that is no longer distinct from the other listed individuals