Class OntDisjointImpl<O extends OntObject>

java.lang.Object
org.apache.jena.enhanced.Polymorphic<org.apache.jena.rdf.model.RDFNode>
org.apache.jena.enhanced.EnhNode
org.apache.jena.rdf.model.impl.ResourceImpl
org.apache.jena.ontapi.impl.objects.OntObjectImpl
org.apache.jena.ontapi.impl.objects.OntDisjointImpl<O>
All Implemented Interfaces:
org.apache.jena.graph.FrontsNode, OntDisjoint<O>, OntObject, org.apache.jena.rdf.model.RDFNode, org.apache.jena.rdf.model.Resource
Direct Known Subclasses:
OntDisjointImpl.ClassesImpl, OntDisjointImpl.IndividualsImpl, OntDisjointImpl.PropertiesImpl, OntDisjointImpl.QLRLClassesImpl

public abstract class OntDisjointImpl<O extends OntObject> extends OntObjectImpl implements OntDisjoint<O>
Implementation for anonymous owl:AllDisjointProperties, owl:AllDisjointClasses, owl:AllDifferent sections.
  • Constructor Details

    • OntDisjointImpl

      public OntDisjointImpl(org.apache.jena.graph.Node n, org.apache.jena.enhanced.EnhGraph m)
  • Method Details

    • createDisjointClasses

      public static OntDisjoint.Classes createDisjointClasses(OntGraphModelImpl model, Stream<OntClass> classes)
    • createDifferentIndividuals

      public static OntDisjoint.Individuals createDifferentIndividuals(OntGraphModelImpl model, Stream<OntIndividual> individuals)
      Creates blank node _:x rdf:type owl:AllDifferent. _:x owl:members (a1 ... an).

      Note: the predicate is owl:members, not owl:distinctMembers (but the last one is correct also) It is chosen as the preferred from considerations of uniformity.

      Parameters:
      model - OntGraphModelImpl
      individuals - stream of OntIndividual
      Returns:
      OntDisjoint.Individuals
      See Also:
    • createDisjointObjectProperties

      public static OntDisjoint.ObjectProperties createDisjointObjectProperties(OntGraphModelImpl model, Stream<OntObjectProperty> properties)
    • createDisjointDataProperties

      public static OntDisjoint.DataProperties createDisjointDataProperties(OntGraphModelImpl model, Stream<OntDataProperty> properties)
    • create

      public static <R extends OntDisjoint<?>, E extends OntObject> R create(OntGraphModelImpl model, org.apache.jena.rdf.model.Resource type, Class<R> resultType, Class<E> memberType, Stream<E> members, org.apache.jena.rdf.model.Property membersPredicate)
    • findRootStatement

      public Optional<OntStatement> findRootStatement()
      Description copied from class: OntObjectImpl
      Finds the first declaration root statement. The graph may contain several triples with predicate rdf:type and this ontology object as a subject. In this case, the result is unpredictable.
      Overrides:
      findRootStatement in class OntObjectImpl
      Returns:
      Optional around OntStatement that supports plain annotation assertions
    • members

      public Stream<O> members()
      Description copied from interface: OntDisjoint
      Lists all pair-wise disjoint members holding by this Ontology Disjoint resource. Note that the returned values are not necessarily the same as RDFNodeList.members() output: some profiles (e.g., OWL2 QL) impose some restrictions.
      Specified by:
      members in interface OntDisjoint<O extends OntObject>
      Returns:
      Stream (not distinct) of OntObjects
    • listMembers

      public org.apache.jena.util.iterator.ExtendedIterator<O> listMembers()
    • getList

      public OntListImpl<O> getList()
    • listSpec

      public org.apache.jena.util.iterator.ExtendedIterator<OntStatement> listSpec()
      Description copied from class: OntObjectImpl
      Lists all object's characteristic statements according to its OWL2 specification.
      Overrides:
      listSpec in class OntObjectImpl
      Returns:
      ExtendedIterator of OntStatements
    • getModel

      OntModel getModel()
      Returns the ontology model associated with this resource. If the Resource was not created by a Model, the result may be null.
      Specified by:
      getModel in interface org.apache.jena.rdf.model.RDFNode
      Returns:
      OntModel
    • isLocal

      boolean isLocal()
      Determines if this Ontology Resource is locally defined. This means that the resource definition (i.e., a the root statement) belongs to the base ontology graph. If the ontology contains subgraphs (which should match owl:imports in OWL) and the resource is defined in one of them, than this method called from top-level interface will return false.
      Returns:
      true if this resource is local to the base model graph.
    • getAs

      default <X extends org.apache.jena.rdf.model.RDFNode> X getAs(Class<X> type)
      Safely converts this RDF resource to the given type interface, if it is possible. Otherwise, returns null. A calling of this method is effectively equivalent to the expression this.canAs(type) ? this.as(type) : null.
      Type Parameters:
      X - any subtype of RDFNode
      Parameters:
      type - a Class-type of the desired RDF view (interface)
      Returns:
      an instance of the type X or null
      See Also:
      • RDFNode.as(Class)
      • RDFNode.canAs(Class)