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.OntPropertyImpl
org.apache.jena.ontapi.impl.objects.OntDataPropertyImpl
- All Implemented Interfaces:
org.apache.jena.graph.FrontsNode
,OntDataProperty
,OntEntity
,OntNamedProperty<OntDataProperty>
,OntObject
,OntProperty
,OntRelationalProperty
,org.apache.jena.rdf.model.Property
,org.apache.jena.rdf.model.RDFNode
,org.apache.jena.rdf.model.Resource
An ontology object implementation with declarative type
owl:DatatypeProperty
.-
Field Summary
Fields inherited from class org.apache.jena.rdf.model.impl.ResourceImpl
factory, rdfNodeFactory
-
Constructor Summary
ConstructorsConstructorDescriptionOntDataPropertyImpl
(org.apache.jena.graph.Node n, org.apache.jena.enhanced.EnhGraph g) -
Method Summary
Modifier and TypeMethodDescriptionCreates and returns a newowl:equivalentProperty
statement with the given property as an object and this property as a subject.Creates theP rdf:type owl:FunctionalProperty
property declaration statement, whereP
is this property.addNegativeAssertion
(OntIndividual source, org.apache.jena.rdf.model.Literal target) Adds a negative data property assertion.Adds a disjoint object property (i.e. the_:this owl:propertyDisjointWith @other
statement).declaringClasses
(boolean direct) Answers aStream
of all the classes in this ontology, such that each returned class has this property as one of its properties inOntClass.declaredProperties(boolean)
.Returns disjoint properties.Returns all equivalent data properties The statement pattern isRi owl:equivalentProperty Rj
, whereRi
- this property,Rj
- the data property to return.Finds the first declaration root statement.default <X extends org.apache.jena.rdf.model.RDFNode>
XSafely converts this RDF resource to the giventype
interface, if it is possible.getModel()
Returns the ontology model associated with this resource.int
boolean
hasSuperProperty
(OntProperty property, boolean direct) Answerstrue
if the given property is a super-property of this property.org.apache.jena.rdf.model.Property
inModel
(org.apache.jena.rdf.model.Model m) boolean
Determines if this is a builtin entity.boolean
Answerstrue
iff it is a functional (data or object) property expression.boolean
isLocal()
Determines if this Ontology Resource is locally defined.Gets a public ont-object type identifier.removeDisjointProperty
(org.apache.jena.rdf.model.Resource property) Removes theowl:propertyDisjointWith
statement (a statement with the predicateowl:propertyDisjointWith
) for the specified resource (considered as an object), including the corresponding statement's annotations.removeEquivalentProperty
(org.apache.jena.rdf.model.Resource property) Removes the equivalent property statement (a statement with the predicateowl:equivalentProperty
) for the specified resource (considered as an object), including the corresponding statement's annotations.setFunctional
(boolean functional) Adds or removesowl:FunctionalProperty
declaration for this property according to the given boolean flag.subProperties
(boolean direct) Answers aStream
over all the properties that are declared to be sub-properties of this property.superProperties
(boolean direct) Answers aStream
over all the properties that are declared to be super-properties of this property.Methods inherited from class org.apache.jena.ontapi.impl.objects.OntPropertyImpl
addDisjointWith, addEquivalentProperty, asProperty, declaringClasses, disjointProperties, equivalentProperties, hasSuperProperty, removeDisjointWith, removeEquivalentProperty, subProperties, superProperties
Methods inherited from class org.apache.jena.ontapi.impl.objects.OntObjectImpl
addAnnotation, addStatement, annotations, annotationValues, assertions, checkNamed, checkNamed, clearAnnotations, content, findActualClass, findActualClass, getAs, getMainStatement, getModel, getNodeAs, getRequiredObject, getRequiredProperty, isLocal, isReservedOrBuiltin, listAnnotationLiterals, listAnnotations, listAssertions, listObjects, listObjects, listProperties, listProperties, listSpec, listStatements, listStatements, listSubjects, object, objects, objects, remove, spec, statement, statement, statements, statements, subjects, toString, wrapAsOntObject
Methods inherited from class org.apache.jena.rdf.model.impl.ResourceImpl
abort, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addProperty, addProperty, addProperty, addProperty, addProperty, addProperty, addProperty, asLiteral, asResource, begin, commit, getId, getLocalName, getNameSpace, getProperty, getProperty, getPropertyResourceValue, getRequiredProperty, getStmtTerm, getURI, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasProperty, hasProperty, hasProperty, hasProperty, hasURI, listProperties, removeAll, removeProperties, visitWith
Methods inherited from class org.apache.jena.enhanced.EnhNode
as, asNode, canAs, equals, getGraph, hashCode, isAnon, isLiteral, isResource, isStmtResource, isURIResource, isValid, viewAs
Methods inherited from class org.apache.jena.enhanced.Polymorphic
addView, supports
Methods inherited from interface org.apache.jena.graph.FrontsNode
asNode
Methods inherited from interface org.apache.jena.ontapi.model.OntDataProperty
addDisjointProperty, addDomain, addEquivalentProperty, addRange, addSubProperty, addSuperProperty, disjoints, negativeAssertions, negativeAssertions, ranges, removeDomain, removeRange, removeSubProperty, removeSuperProperty, subProperties, superProperties
Methods inherited from interface org.apache.jena.ontapi.model.OntNamedProperty
addComment, addComment, addLabel, addLabel, annotate, annotate, isProperty
Methods inherited from interface org.apache.jena.ontapi.model.OntObject
addAnnotation, addAnnotation, addAnnotation, addStatement, annotations, annotationValues, annotationValues, clearAnnotations, content, getComment, getComment, getLabel, getLabel, getMainStatement, getRequiredProperty, hasType, objects, objects, remove, spec, statement, statement, statements, statements, types
Methods inherited from interface org.apache.jena.ontapi.model.OntProperty
addDomainStatement, addRangeStatement, addSubPropertyOfStatement, asProperty, hasSubProperty
Methods inherited from interface org.apache.jena.ontapi.model.OntRelationalProperty
domains, domains, referringRestrictions
Methods inherited from interface org.apache.jena.rdf.model.Property
getLocalName, getNameSpace
Methods inherited from interface org.apache.jena.rdf.model.RDFNode
as, asLiteral, asResource, canAs, isAnon, isLiteral, isResource, isStmtResource, isURIResource, visitWith
Methods inherited from interface org.apache.jena.rdf.model.Resource
abort, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addProperty, addProperty, addProperty, addProperty, begin, commit, equals, getId, getProperty, getProperty, getPropertyResourceValue, getRequiredProperty, getStmtTerm, getURI, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasProperty, hasProperty, hasProperty, hasProperty, hasURI, listProperties, listProperties, listProperties, removeAll, removeProperties, toString
-
Constructor Details
-
OntDataPropertyImpl
public OntDataPropertyImpl(org.apache.jena.graph.Node n, org.apache.jena.enhanced.EnhGraph g)
-
-
Method Details
-
objectType
Description copied from class:OntObjectImpl
Gets a public ont-object type identifier.- Specified by:
objectType
in interfaceOntObject
- Overrides:
objectType
in classOntObjectImpl
- Returns:
- Class, the actual type of this object
-
superProperties
Description copied from interface:OntDataProperty
Answers aStream
over all the properties that are declared to be super-properties of this property. Each element of theStream
will have the same type as this property instance: if it is datatype property the method will return only data properties, etc. The parameterdirect
controls selectivity over the properties that appear in theStream
. Consider the following scenario:
(so:A rdfs:subPropertyOf :B . :A rdfs:subPropertyOf :C . :C rdfs:subPropertyOf :D .
A
has super-propertyB
andC
, andC
has super-propertyD
) In a raw model, with no inference support, listing the super-property ofA
will answerB
andC
. In an inferencing model,rdfs:subPropertyOf
is known to be transitive, so the super-property iterator will includeD
. Thedirect
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 ofA
areB
andC
only, and notD
- even in an inferencing graph. Note that this is different from the entailments from the raw graph. Suppose we add to this example:
Now, in the raw graph,:A rdfs:subPropertyOf :D .
A
has super-propertyB
,C
,D
. But the direct super-property ofA
remain onlyB
and C, since there is a longer pathA-C-D
that means thatD
is not a direct super-property ofA
. The assertion in the raw graph thatA
has super-propertyD
is essentially redundant, since this can be inferred from the closure of the graph.- Specified by:
superProperties
in interfaceOntDataProperty
- Specified by:
superProperties
in interfaceOntProperty
- Specified by:
superProperties
in interfaceOntRelationalProperty
- Parameters:
direct
-boolean
: iftrue
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:
-
subProperties
Description copied from interface:OntDataProperty
Answers aStream
over all the properties that are declared to be sub-properties of this property. Each element of theStream
will have the same type as this property instance: if it is datatype property the method will return only data properties, etc. The parameterdirect
controls selectivity over the properties that appear in theStream
. Consider the following scenario:
(so:D rdfs:subPropertyOf :C . :C rdfs:subPropertyOf :A . :B rdfs:subPropertyOf :A .
A
has two sub-properties,B
andC
, andC
has sub-propertyD
) In a raw model, with no inference support, listing the sub-property ofA
will answerB
andC
. In an inferencing model,rdfs:subPropertyOf
is known to be transitive, so the sub-properties iterator will includeD
. Thedirect
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 ofA
areB
andC
only, and notD
- even in an inferencing graph. Note that this is different from the entailments from the raw graph. Suppose we add to this example:
Now, in the raw graph,:D rdfs:subPropertyOf :A.
A
has sub-propertyC
. But the direct sub-properties ofA
remainB
andC
, since there is a longer pathA-C-D
that means thatD
is not a direct sub-property ofA
. The assertion in the raw graph thatA
has sub-propertyD
is essentially redundant, since this can be inferred from the closure of the graph.- Specified by:
subProperties
in interfaceOntDataProperty
- Specified by:
subProperties
in interfaceOntProperty
- Specified by:
subProperties
in interfaceOntRelationalProperty
- Parameters:
direct
-boolean
iftrue
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:
-
declaringClasses
Description copied from interface:OntProperty
Answers aStream
of all the classes in this ontology, such that each returned class has this property as one of its properties inOntClass.declaredProperties(boolean)
. This simulates a frame-like view of properties and classes; for more details see the Apache Jena: Presenting RDF as frames- Specified by:
declaringClasses
in interfaceOntProperty
- Parameters:
direct
-boolean
iftrue
, use only direct associations between classes and properties- Returns:
- a
Stream
of the classes having this property as one of their declared properties
-
hasSuperProperty
Description copied from interface:OntProperty
Answerstrue
if the given property is a super-property of this property. SeeOntProperty.superProperties(boolean)
for a full explanation of the direct parameter.- Specified by:
hasSuperProperty
in interfaceOntProperty
- Parameters:
property
- aOntProperty
to testdirect
-boolean
; If true, only search the properties that are directly adjacent to this property in the class hierarchy- Returns:
boolean
-
disjointProperties
Description copied from interface:OntDataProperty
Returns disjoint properties. The statement pattern is:Ri owl:propertyDisjointWith Rj
, whereRi
- this property, andRj
- the data property to return.- Specified by:
disjointProperties
in interfaceOntDataProperty
- Specified by:
disjointProperties
in interfaceOntRelationalProperty
- Returns:
Stream
ofOntDataProperty
s- See Also:
-
addPropertyDisjointWithStatement
Description copied from interface:OntDataProperty
Adds a disjoint object property (i.e. the_:this owl:propertyDisjointWith @other
statement).- Specified by:
addPropertyDisjointWithStatement
in interfaceOntDataProperty
- Parameters:
other
-OntDataProperty
, notnull
- Returns:
OntStatement
to allow subsequent annotations adding- See Also:
-
removeDisjointProperty
Description copied from interface:OntDataProperty
Removes theowl:propertyDisjointWith
statement (a statement with the predicateowl: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 predicateowl:propertyDisjointWith
(and all theirs annotation triples) ifnull
is given.- Specified by:
removeDisjointProperty
in interfaceOntDataProperty
- Specified by:
removeDisjointProperty
in interfaceOntRelationalProperty
- Parameters:
property
-Resource
ornull
to remove all disjoint properties- Returns:
- this instance to allow cascading calls
- See Also:
-
equivalentProperties
Description copied from interface:OntDataProperty
Returns all equivalent data properties The statement pattern isRi owl:equivalentProperty Rj
, whereRi
- this property,Rj
- the data property to return.- Specified by:
equivalentProperties
in interfaceOntDataProperty
- Specified by:
equivalentProperties
in interfaceOntRelationalProperty
- Returns:
Stream
ofOntDataProperty
s- See Also:
-
addEquivalentPropertyStatement
Description copied from interface:OntDataProperty
Creates and returns a newowl:equivalentProperty
statement with the given property as an object and this property as a subject.- Specified by:
addEquivalentPropertyStatement
in interfaceOntDataProperty
- Parameters:
other
-OntDataProperty
, notnull
- Returns:
OntStatement
to allow subsequent annotations adding- See Also:
-
removeEquivalentProperty
Description copied from interface:OntDataProperty
Removes the equivalent property statement (a statement with the predicateowl: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 predicateowl:equivalentProperty
(and all theirs annotation triples) ifnull
is given.- Specified by:
removeEquivalentProperty
in interfaceOntDataProperty
- Specified by:
removeEquivalentProperty
in interfaceOntRelationalProperty
- Parameters:
property
-Resource
ornull
to remove all equivalent properties- Returns:
- this instance to allow cascading calls
-
addNegativeAssertion
public OntNegativeAssertion.WithDataProperty addNegativeAssertion(OntIndividual source, org.apache.jena.rdf.model.Literal target) Description copied from interface:OntDataProperty
Adds a negative data property assertion.- Specified by:
addNegativeAssertion
in interfaceOntDataProperty
- Parameters:
source
-OntIndividual
, the sourcetarget
-Literal
, the target- Returns:
OntNegativeAssertion.WithDataProperty
- See Also:
-
isFunctional
public boolean isFunctional()Description copied from interface:OntRelationalProperty
Answerstrue
iff it is a functional (data or object) property expression. A functional property is defined by the statementP rdf:type owl:FunctionalProperty
, whereP
is this property expression.- Specified by:
isFunctional
in interfaceOntRelationalProperty
- Returns:
- boolean
-
setFunctional
Description copied from interface:OntDataProperty
Adds or removesowl: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 interfaceOntDataProperty
- Specified by:
setFunctional
in interfaceOntRelationalProperty
- Parameters:
functional
-true
if should be functional- Returns:
- this instance to allow cascading calls
- See Also:
-
addFunctionalDeclaration
Description copied from interface:OntRelationalProperty
Creates theP rdf:type owl:FunctionalProperty
property declaration statement, whereP
is this property.- Specified by:
addFunctionalDeclaration
in interfaceOntRelationalProperty
- Returns:
OntStatement
to allow the subsequent addition of annotations- See Also:
-
isBuiltIn
public boolean isBuiltIn()Description copied from interface:OntEntity
Determines if this is a builtin entity. In a standard (default) OWL2 vocabulary an entity is builtin if it is:- a
class
and its IRI is eitherowl:Thing
orowl:Nothing
- an
object property
and its IRI is eitherowl:topObjectProperty
orowl:bottomObjectProperty
- a
data property
and its IRI is eitherowl:topDataProperty
orowl:bottomDataProperty
- a
datatype
and its IRI is eitherrdfs:Literal
, orrdf:PlainLiteral
, or it is from the OWL 2 datatype map - an
annotation property
and its IRI is one of the following:rdfs:label
rdfs:comment
rdfs:seeAlso
rdfs:isDefinedBy
owl:deprecated
owl:versionInfo
owl:priorVersion
owl:backwardCompatibleWith
owl:incompatibleWith
Builtins Vocabulary
. A model with differentBuiltins
vocabulary will naturally have a differentSet
of builtin IRIs, and this method will return a different result. - a
-
inModel
public org.apache.jena.rdf.model.Property inModel(org.apache.jena.rdf.model.Model m) - Specified by:
inModel
in interfaceorg.apache.jena.rdf.model.Property
- Specified by:
inModel
in interfaceorg.apache.jena.rdf.model.RDFNode
- Specified by:
inModel
in interfaceorg.apache.jena.rdf.model.Resource
- Overrides:
inModel
in classorg.apache.jena.rdf.model.impl.ResourceImpl
-
findRootStatement
Description copied from class:OntObjectImpl
Finds the first declaration root statement. The graph may contain several triples with predicaterdf:type
and this ontology object as a subject. In this case, the result is unpredictable.- Overrides:
findRootStatement
in classOntObjectImpl
- Returns:
- Optional around
OntStatement
that supports plain annotation assertions
-
getOrdinal
public int getOrdinal()- Specified by:
getOrdinal
in interfaceorg.apache.jena.rdf.model.Property
-
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 interfaceorg.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 theroot statement
) belongs to the base ontology graph. If the ontology contains subgraphs (which should matchowl:imports
in OWL) and the resource is defined in one of them, than this method called from top-level interface will returnfalse
.- Returns:
true
if this resource is local to the base model graph.
-
getAs
Safely converts this RDF resource to the giventype
interface, if it is possible. Otherwise, returnsnull
. A calling of this method is effectively equivalent to the expressionthis.canAs(type) ? this.as(type) : null
.- Type Parameters:
X
- any subtype ofRDFNode
- Parameters:
type
- aClass
-type of the desired RDF view (interface)- Returns:
- an instance of the type
X
ornull
- See Also:
-
RDFNode.as(Class)
RDFNode.canAs(Class)
-