Interface OntDataProperty

All Superinterfaces:
org.apache.jena.graph.FrontsNode, OntEntity, OntNamedProperty<OntDataProperty>, OntObject, OntProperty, OntRelationalProperty, org.apache.jena.rdf.model.Property, org.apache.jena.rdf.model.RDFNode, org.apache.jena.rdf.model.Resource
All Known Implementing Classes:
OntDataPropertyImpl

public interface OntDataProperty extends OntRelationalProperty, OntNamedProperty<OntDataProperty>
Interface encapsulating the Ontology (Named) Data Property. This is an extension to the standard jena Property, the OWL Entity and the realarional property interfaces. Range values for this property are datarange values (as distinct from object property expression valued properties). In OWL2, a Data Property cannot be anonymous.
See Also:
  • Method Details

    • addNegativeAssertion

      OntNegativeAssertion.WithDataProperty addNegativeAssertion(OntIndividual source, org.apache.jena.rdf.model.Literal target)
      Adds a negative data property assertion.
      Parameters:
      source - OntIndividual, the source
      target - Literal, the target
      Returns:
      OntNegativeAssertion.WithDataProperty
      See Also:
    • subProperties

      Stream<OntDataProperty> subProperties(boolean direct)
      Answers a Stream over all the properties that are declared to be sub-properties of this property. Each element of the Stream will have the same type as this property instance: if it is datatype property the method will return only data properties, etc. The parameter direct controls selectivity over the properties that appear in the Stream. Consider the following scenario:
      
        :D rdfs:subPropertyOf :C .
        :C rdfs:subPropertyOf :A .
        :B rdfs:subPropertyOf :A .
       
      (so A has two sub-properties, B and C, and C has sub-property D) In a raw model, with no inference support, listing the sub-property of A will answer B and C. In an inferencing model, rdfs:subPropertyOf is known to be transitive, so the sub-properties iterator will include D. The direct sub-properties are those members of the closure of the subPropertyOf relation, restricted to properties that cannot be reached by a longer route, i.e., the ones that are directly adjacent to the given root. Thus, the direct sub-properties of A are B and C only, and not D - even in an inferencing graph. Note that this is different from the entailments from the raw graph. Suppose we add to this example:
      
         :D rdfs:subPropertyOf :A.
       
      Now, in the raw graph, A has sub-property C. But the direct sub-properties of A remain B and C, since there is a longer path A-C-D that means that D is not a direct sub-property of A. The assertion in the raw graph that A has sub-property D is essentially redundant, since this can be inferred from the closure of the graph.
      Specified by:
      subProperties in interface OntProperty
      Specified by:
      subProperties in interface OntRelationalProperty
      Parameters:
      direct - boolean if true answers the directly adjacent properties in the sub-property relation: i.e. eliminate any properties for which there is a longer route to reach that parent under the sub-property relation
      Returns:
      distinct Stream of datatype properties
      See Also:
    • superProperties

      Stream<OntDataProperty> superProperties(boolean direct)
      Answers a Stream over all the properties that are declared to be super-properties of this property. Each element of the Stream will have the same type as this property instance: if it is datatype property the method will return only data properties, etc. The parameter direct controls selectivity over the properties that appear in the Stream. Consider the following scenario:
      
        :A rdfs:subPropertyOf :B .
        :A rdfs:subPropertyOf :C .
        :C rdfs:subPropertyOf :D .
        
      (so A has super-property B and C, and C has super-property D) In a raw model, with no inference support, listing the super-property of A will answer B and C. In an inferencing model, rdfs:subPropertyOf is known to be transitive, so the super-property iterator will include D. The direct super-properties are those members of the closure of the inverse-subPropertyOf relation, restricted to properties that cannot be reached by a longer route, i.e., the ones that are directly adjacent to the given root. Thus, the direct super-property of A are B and C only, and not D - even in an inferencing graph. Note that this is different from the entailments from the raw graph. Suppose we add to this example:
      
         :A rdfs:subPropertyOf :D .
       
      Now, in the raw graph, A has super-property B, C, D. But the direct super-property of A remain only B and C, since there is a longer path A-C-D that means that D is not a direct super-property of A. The assertion in the raw graph that A has super-property D is essentially redundant, since this can be inferred from the closure of the graph.
      Specified by:
      superProperties in interface OntProperty
      Specified by:
      superProperties in interface OntRelationalProperty
      Parameters:
      direct - boolean: if true answers the directly adjacent properties in the super-property relation, i.e. eliminate any property for which there is a longer route to reach that parent under the super-property relation
      Returns:
      distinct Stream of datatype properties
      See Also:
    • negativeAssertions

      default Stream<OntNegativeAssertion.WithDataProperty> negativeAssertions()
      Lists all negative property assertions. A negative property assertion is anonymous resource with the type owl:NegativePropertyAssertion that has a data or object property expression as an object on the predicate owl:assertionProperty.
      Specified by:
      negativeAssertions in interface OntRelationalProperty
      Returns:
      Stream of OntNegativeAssertion.WithDataPropertys
      See Also:
    • negativeAssertions

      default Stream<OntNegativeAssertion.WithDataProperty> negativeAssertions(OntIndividual source)
      Returns all associated negative data property assertions for the specified source individual.
      Parameters:
      source - OntIndividual
      Returns:
      Stream of OntNegativeAssertion.WithDataPropertys.
      See Also:
    • ranges

      default Stream<OntDataRange> ranges()
      Returns all-property ranges (the statement pattern: R rdfs:range D).
      Specified by:
      ranges in interface OntProperty
      Specified by:
      ranges in interface OntRelationalProperty
      Returns:
      Stream of OntDataRanges
      See Also:
    • subProperties

      default Stream<OntDataProperty> subProperties()
      Lists all the properties that are declared to be sub-properties of this property (directly or indirectly). Note: the return elements have the same type as this instance.

      Equivalent to this.subProperties(false).

      The pattern is Ri rdfs:subPropertyOf Rj where Ri, Rj are data properties.

      Specified by:
      subProperties in interface OntProperty
      Specified by:
      subProperties in interface OntRelationalProperty
      Returns:
      Stream of OntDataPropertys
      See Also:
    • superProperties

      default Stream<OntDataProperty> superProperties()
      Lists all the properties that are declared to be super-properties of this property (directly or indirectly). Note: the return elements have the same type as this instance.

      Equivalent to this.superProperties(false).

      The pattern is Ri rdfs:subPropertyOf Rj where Ri, Rj are data properties.

      Specified by:
      superProperties in interface OntProperty
      Specified by:
      superProperties in interface OntRelationalProperty
      Returns:
      Stream of OntDataPropertys
      See Also:
    • disjoints

      default Stream<OntDisjoint.DataProperties> disjoints()
      Lists all OntDisjoint sections where this data-property is a member.
      Returns:
      a Stream of OntDisjoint.DataProperties
    • disjointProperties

      default Stream<OntDataProperty> disjointProperties()
      Returns disjoint properties. The statement pattern is: Ri owl:propertyDisjointWith Rj, where Ri - this property, and Rj - the data property to return.
      Specified by:
      disjointProperties in interface OntRelationalProperty
      Returns:
      Stream of OntDataPropertys
      See Also:
    • equivalentProperties

      default Stream<OntDataProperty> equivalentProperties()
      Returns all equivalent data properties The statement pattern is Ri owl:equivalentProperty Rj, where Ri - this property, Rj - the data property to return.
      Specified by:
      equivalentProperties in interface OntRelationalProperty
      Returns:
      Stream of OntDataPropertys
      See Also:
    • addEquivalentPropertyStatement

      default OntStatement addEquivalentPropertyStatement(OntDataProperty other)
      Creates and returns a new owl:equivalentProperty statement with the given property as an object and this property as a subject.
      Parameters:
      other - OntDataProperty, not null
      Returns:
      OntStatement to allow subsequent annotations adding
      See Also:
    • addPropertyDisjointWithStatement

      default OntStatement addPropertyDisjointWithStatement(OntDataProperty other)
      Adds a disjoint object property (i.e. the _:this owl:propertyDisjointWith @other statement).
      Parameters:
      other - OntDataProperty, not null
      Returns:
      OntStatement to allow subsequent annotations adding
      See Also:
    • addSuperProperty

      default OntDataProperty addSuperProperty(OntDataProperty property)
      Adds the given property as super property returning this property itself.
      Parameters:
      property - OntDataProperty, not null
      Returns:
      this instance to allow cascading calls
      See Also:
    • addSubProperty

      default OntDataProperty addSubProperty(OntDataProperty property)
      Adds the given property as sub property returning this property itself.
      Parameters:
      property - OntDataProperty, not null
      Returns:
      this instance to allow cascading calls
      See Also:
    • addRange

      default OntDataProperty addRange(OntDataRange range)
      Adds a statement with the RDFS.range as predicate and the specified data range as an object.
      Parameters:
      range - OntDataRange, not null
      Returns:
      this instance to allow cascading calls
      See Also:
    • addDomain

      default OntDataProperty addDomain(OntClass ce)
      Adds a statement with the RDFS.domain as predicate, this property as a subject, and the specified class expression as an object.
      Specified by:
      addDomain in interface OntRelationalProperty
      Parameters:
      ce - OntClass, not null
      Returns:
      this instance to allow cascading calls
      See Also:
    • addEquivalentProperty

      default OntDataProperty addEquivalentProperty(OntDataProperty other)
      Adds a new owl:equivalentProperty statement.
      Parameters:
      other - OntDataProperty, not null
      Returns:
      OntDataProperty this instance to allow cascading calls
      See Also:
    • addDisjointProperty

      default OntDataProperty addDisjointProperty(OntDataProperty other)
      Adds a new owl:propertyDisjointWith statement for this and the specified property.
      Parameters:
      other - OntDataProperty, not null
      Returns:
      OntDataProperty this instance to allow cascading calls
      See Also:
    • removeSuperProperty

      default OntDataProperty removeSuperProperty(org.apache.jena.rdf.model.Resource property)
      Removes the specified super property (predicate is rdfs:subPropertyOf), including the corresponding statement's annotations. No-op in case no such super-property is found. If null is specified, the method removes all triples with predicate rdfs:subPropertyOf and this property as a subject.
      Specified by:
      removeSuperProperty in interface OntProperty
      Specified by:
      removeSuperProperty in interface OntRelationalProperty
      Parameters:
      property - Resource or null to remove all direct super properties
      Returns:
      this instance to allow cascading calls
    • removeSubProperty

      default OntDataProperty removeSubProperty(org.apache.jena.rdf.model.Resource property)
      Removes the specified sub property (predicate is rdfs:subPropertyOf), including the corresponding statement's annotations. No-op in case no such super-property is found. If null is specified, the method removes all triples with predicate rdfs:subPropertyOf and this property as an object.
      Specified by:
      removeSubProperty in interface OntProperty
      Parameters:
      property - Resource or null to remove all direct super properties
      Returns:
      this instance to allow cascading calls
    • removeDomain

      default OntDataProperty removeDomain(org.apache.jena.rdf.model.Resource domain)
      Removes the specified domain resource (predicate is rdfs:domain), including the corresponding statement's annotations. No-op in case no such domain is found. Removes all domains if null is specified.
      Specified by:
      removeDomain in interface OntProperty
      Specified by:
      removeDomain in interface OntRelationalProperty
      Parameters:
      domain - Resource, or null to remove all domains
      Returns:
      this instance to allow cascading calls
    • removeRange

      default OntDataProperty removeRange(org.apache.jena.rdf.model.Resource range)
      Removes the specified range resource (predicate is rdfs:range), including the corresponding statement's annotations. No-op in case no such range is found. Removes all ranges if null is specified.
      Specified by:
      removeRange in interface OntProperty
      Specified by:
      removeRange in interface OntRelationalProperty
      Parameters:
      range - Resource, or null to remove all ranges
      Returns:
      this instance to allow cascading calls
    • removeEquivalentProperty

      default OntDataProperty removeEquivalentProperty(org.apache.jena.rdf.model.Resource property)
      Removes the equivalent property statement (a statement with the predicate owl:equivalentProperty) for the specified resource (considered as an object), including the corresponding statement's annotations. No-op in case no such equivalent property relationship is found. Removes all triples with predicate owl:equivalentProperty (and all theirs annotation triples) if null is given.
      Specified by:
      removeEquivalentProperty in interface OntRelationalProperty
      Parameters:
      property - Resource or null to remove all equivalent properties
      Returns:
      this instance to allow cascading calls
    • removeDisjointProperty

      default OntDataProperty removeDisjointProperty(org.apache.jena.rdf.model.Resource property)
      Removes the owl:propertyDisjointWith statement (a statement with the predicate owl:propertyDisjointWith) for the specified resource (considered as an object), including the corresponding statement's annotations. No-op in case no such disjoint property relationship is found. Removes all triples with predicate owl:propertyDisjointWith (and all theirs annotation triples) if null is given.
      Specified by:
      removeDisjointProperty in interface OntRelationalProperty
      Parameters:
      property - Resource or null to remove all disjoint properties
      Returns:
      this instance to allow cascading calls
      See Also:
    • setFunctional

      default OntDataProperty setFunctional(boolean functional)
      Adds or removes owl:FunctionalProperty declaration for this property according to the given boolean flag. Note: the statement is removed along with all its annotations.
      Specified by:
      setFunctional in interface OntRelationalProperty
      Parameters:
      functional - true if should be functional
      Returns:
      this instance to allow cascading calls
      See Also:
    • 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)