- All Superinterfaces:
org.apache.jena.graph.FrontsNode
,OntObject
,OntProperty
,org.apache.jena.rdf.model.RDFNode
,org.apache.jena.rdf.model.Resource
- All Known Subinterfaces:
OntDataProperty
,OntObjectProperty
,OntObjectProperty.Inverse
,OntObjectProperty.Named
- All Known Implementing Classes:
OntDataPropertyImpl
,OntObjectPropertyImpl
,OntObjectPropertyImpl.InversePropertyImpl
,OntObjectPropertyImpl.NamedImpl
A common (abstract) interface for any Ontology Data and Object Property expressions.
In OWL2 terms it is any
Property Expression
minus Annotation Property
.-
Method Summary
Modifier and TypeMethodDescriptionAdds a statement with theRDFS.domain
as predicate, this property as a subject, and the specifiedclass expression
as an object.default OntStatement
Creates theP rdf:type owl:FunctionalProperty
property declaration statement, whereP
is this property.Stream<? extends OntRelationalProperty>
Lists all properties that are disjoint with this property.domains()
Lists all the declared domain class expressions of this property expression.domains
(boolean direct) Gets all direct or indirect domains that present in RDF graph.Stream<? extends OntRelationalProperty>
Lists all properties that equivalent to this one.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.default boolean
Answerstrue
iff it is a functional (data or object) property expression.boolean
isLocal()
Determines if this Ontology Resource is locally defined.Stream<? extends OntNegativeAssertion<?,
?>> Lists all negative property assertions.ranges()
Lists all property ranges, i.e., all objects from statements with this property as a subject andrdfs:range
as predicate.default Stream<OntClass.Restriction>
Answers aStream
over any restrictions that mention this property as the property that the restriction is adding some constraint to.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.removeDomain
(org.apache.jena.rdf.model.Resource domain) Removes the specified domain resource (predicate isrdfs:domain
), 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.removeRange
(org.apache.jena.rdf.model.Resource range) Removes the specified range resource (predicate isrdfs:range
), including the corresponding statement's annotations.removeSuperProperty
(org.apache.jena.rdf.model.Resource property) Removes the specified super property (predicate isrdfs:subPropertyOf
), including the corresponding statement's annotations.setFunctional
(boolean functional) Adds or removesowl:FunctionalProperty
declaration for this property according to the given boolean flag.Stream<? extends OntRelationalProperty>
Lists all the properties that are declared to be sub-properties of this property (directly or indirectly).Stream<? extends OntRelationalProperty>
subProperties
(boolean direct) Answers aStream
over all the properties that are declared to be sub-properties of this property.Stream<? extends OntRelationalProperty>
Lists all the properties that are declared to be super-properties of this property (directly or indirectly).Stream<? extends OntRelationalProperty>
superProperties
(boolean direct) Answers aStream
over all the properties that are declared to be super-properties of this property.Methods inherited from interface org.apache.jena.graph.FrontsNode
asNode
Methods inherited from interface org.apache.jena.ontapi.model.OntObject
addAnnotation, addAnnotation, addAnnotation, addComment, addComment, addLabel, addLabel, addStatement, annotate, annotate, annotations, annotationValues, annotationValues, clearAnnotations, content, getComment, getComment, getLabel, getLabel, getMainStatement, getRequiredProperty, hasType, objects, objects, objectType, remove, spec, statement, statement, statements, statements, types
Methods inherited from interface org.apache.jena.ontapi.model.OntProperty
addDomainStatement, addRangeStatement, addSubPropertyOfStatement, asProperty, declaringClasses, hasSubProperty, hasSuperProperty, removeSubProperty
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, getLocalName, getNameSpace, getProperty, getProperty, getPropertyResourceValue, getRequiredProperty, getStmtTerm, getURI, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasProperty, hasProperty, hasProperty, hasProperty, hasURI, inModel, listProperties, listProperties, listProperties, removeAll, removeProperties, toString
-
Method Details
-
subProperties
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 interfaceOntProperty
- 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 data or object properties - See Also:
-
superProperties
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 interfaceOntProperty
- 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 data or object properties - See Also:
-
ranges
Lists all property ranges, i.e., all objects from statements with this property as a subject andrdfs:range
as predicate.- Specified by:
ranges
in interfaceOntProperty
- Returns:
Stream
ofontology object
s- See Also:
-
subProperties
Stream<? extends OntRelationalProperty> 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)
.- Specified by:
subProperties
in interfaceOntProperty
- Returns:
Stream
ofOntRelationalProperty
s (object or data properties)- See Also:
-
superProperties
Stream<? extends OntRelationalProperty> 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)
.- Specified by:
superProperties
in interfaceOntProperty
- Returns:
Stream
ofOntRelationalProperty
s (object or data properties)- See Also:
-
disjointProperties
Stream<? extends OntRelationalProperty> disjointProperties()Lists all properties that are disjoint with this property. In other words, returns all objects from statements of the formP owl:propertyDisjointWith R
, whereP
is this property andR
is a returned property of the same type.- Returns:
Stream
ofOntRelationalProperty
s - object or data properties- See Also:
-
equivalentProperties
Stream<? extends OntRelationalProperty> equivalentProperties()Lists all properties that equivalent to this one. In other words, returns all objects from statements of the formP owl:equivalentProperty R
, whereP
is this property andR
is a returned property of the same type.- Returns:
Stream
ofOntRelationalProperty
s - object or data properties
-
negativeAssertions
Stream<? extends OntNegativeAssertion<?,?>> negativeAssertions()Lists all negative property assertions. A negative property assertion is anonymous resource with the typeowl:NegativePropertyAssertion
that has a data or object property expression as an object on the predicateowl:assertionProperty
.- Returns:
Stream
ofOntNegativeAssertion
-
addDomain
Adds a statement with theRDFS.domain
as predicate, this property as a subject, and the specifiedclass expression
as an object.- Parameters:
ce
-OntClass
, notnull
- Returns:
- this instance to allow cascading calls
- See Also:
-
removeDomain
Removes the specified domain resource (predicate isrdfs:domain
), including the corresponding statement's annotations. No-op in case no such domain is found. Removes all domains ifnull
is specified.- Specified by:
removeDomain
in interfaceOntProperty
- Parameters:
domain
-Resource
, ornull
to remove all domains- Returns:
- this instance to allow cascading calls
-
removeRange
Removes the specified range resource (predicate isrdfs:range
), including the corresponding statement's annotations. No-op in case no such range is found. Removes all ranges ifnull
is specified.- Specified by:
removeRange
in interfaceOntProperty
- Parameters:
range
-Resource
, ornull
to remove all ranges- Returns:
- this instance to allow cascading calls
-
removeSuperProperty
Removes the specified super property (predicate isrdfs:subPropertyOf
), including the corresponding statement's annotations. No-op in case no such super-property is found. Ifnull
is specified, the method removes all triples with predicaterdfs:subPropertyOf
and this property as a subject.- Specified by:
removeSuperProperty
in interfaceOntProperty
- Parameters:
property
-Resource
ornull
to remove all direct super properties- Returns:
- this instance to allow cascading calls
-
removeEquivalentProperty
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.- Parameters:
property
-Resource
ornull
to remove all equivalent properties- Returns:
- this instance to allow cascading calls
-
removeDisjointProperty
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.- Parameters:
property
-Resource
ornull
to remove all disjoint properties- Returns:
- this instance to allow cascading calls
- See Also:
-
referringRestrictions
Answers aStream
over any restrictions that mention this property as the property that the restriction is adding some constraint to. For example:_:x rdf:type owl:Restriction. _:x owl:onProperty P. _:x owl:qualifiedCardinality n. _:x owl:onClass C.
- Returns:
- a
Stream
whose values are the restrictions from the local model that reference this property.
-
domains
Lists all the declared domain class expressions of this property expression. In other words, returns the right-hand sides of statementP rdfs:domain C
, whereP
is this property expression.- Specified by:
domains
in interfaceOntProperty
- Returns:
Stream
ofclass expression
s- See Also:
-
domains
Gets all direct or indirect domains that present in RDF graph. Indirect domains are calculated usingOntClass.superClasses(true)
relationship. For example, consider the following statements (only people can have names)::Primate rdf:type owl:Class . :Person rdf:type owl:Class . :hasName rdf:type owl:DatatypeProperty . :hasName rdfs:domain :Person . :Person rdfs:subClassOf :Primate .
:hasName rdfs:domain :Primate .
- Parameters:
direct
- iftrue
the method behaves the same asdomains()
- Returns:
Stream
ofclass expression
s, distinct
-
addFunctionalDeclaration
Creates theP rdf:type owl:FunctionalProperty
property declaration statement, whereP
is this property.- Returns:
OntStatement
to allow the subsequent addition of annotations- See Also:
-
isFunctional
default boolean isFunctional()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.- Returns:
- boolean
-
setFunctional
Adds or removesowl:FunctionalProperty
declaration for this property according to the given boolean flag. Note: the statement is removed along with all its annotations.- 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 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)
-