- All Superinterfaces:
org.apache.jena.graph.FrontsNode
,OntEntity
,OntNamedProperty<OntAnnotationProperty>
,OntObject
,OntProperty
,org.apache.jena.rdf.model.Property
,org.apache.jena.rdf.model.RDFNode
,org.apache.jena.rdf.model.Resource
- All Known Implementing Classes:
OntAnnotationPropertyImpl
Interface encapsulating a {named} Annotation Property.
This is an extension to the standard jena
Property
,
the OWL Entity
and the abstract property expression
interfaces.
In OWL2, an Annotation Property cannot be anonymous.- See Also:
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptiondefault OntAnnotationProperty
addDomain
(org.apache.jena.rdf.model.Resource uri) Adds a statement with theRDFS.domain
as predicate and the specifieduri
as an object.default OntAnnotationProperty
addRange
(org.apache.jena.rdf.model.Resource uri) Adds a statement with theRDFS.range
as predicate and the specifieduri
as an object.default OntAnnotationProperty
addSubProperty
(OntAnnotationProperty property) Adds the given property as sub property returning this property itself.default OntAnnotationProperty
addSuperProperty
(OntAnnotationProperty property) Adds the given property as super property returning this property itself.Stream<org.apache.jena.rdf.model.Resource>
domains()
Lists all valid annotation property domains in the form of javaStream
.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.boolean
isLocal()
Determines if this Ontology Resource is locally defined.Stream<org.apache.jena.rdf.model.Resource>
ranges()
Lists all valid annotation property ranges.default OntAnnotationProperty
removeDomain
(org.apache.jena.rdf.model.Resource domain) Removes the specified domain resource (predicate isrdfs:domain
), including the corresponding statement's annotations.default OntAnnotationProperty
removeRange
(org.apache.jena.rdf.model.Resource range) Removes the specified range resource (predicate isrdfs:range
), including the corresponding statement's annotations.default OntAnnotationProperty
removeSubProperty
(org.apache.jena.rdf.model.Resource property) Removes the specified sub property (predicate isrdfs:subPropertyOf
), including the corresponding statement's annotations.default OntAnnotationProperty
removeSuperProperty
(org.apache.jena.rdf.model.Resource property) Removes the specified super property (predicate isrdfs:subPropertyOf
), including the corresponding statement's annotations.default Stream<OntAnnotationProperty>
Lists all the properties that are declared to be sub-properties of this property (directly or indirectly).subProperties
(boolean direct) Answers aStream
over all the properties that are declared to be sub-properties of this property.default Stream<OntAnnotationProperty>
Lists all the properties that are declared to be super-properties of this property (directly or indirectly).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.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, 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
Methods inherited from interface org.apache.jena.rdf.model.Property
getLocalName, getNameSpace, getOrdinal, inModel
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
-
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 super-property relation- Returns:
- distinct
Stream
of annotation 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; iffalse
answers all super-properties found by inferencer, which usually means entire hierarchy up the tree; this instance is not included- Returns:
- distinct
Stream
of annotation properties - See Also:
-
domains
Stream<org.apache.jena.rdf.model.Resource> domains()Lists all valid annotation property domains in the form of javaStream
.- Specified by:
domains
in interfaceOntProperty
- Returns:
Stream
of uri-Resource
s- See Also:
-
ranges
Stream<org.apache.jena.rdf.model.Resource> ranges()Lists all valid annotation property ranges.- Specified by:
ranges
in interfaceOntProperty
- Returns:
Stream
of uri-Resource
s- See Also:
-
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
Ai rdfs:subPropertyOf Aj
, whereAi, Aj
are annotation properties.- Specified by:
subProperties
in interfaceOntProperty
- Returns:
Stream
ofOntAnnotationProperty
s- See Also:
-
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
Ai rdfs:subPropertyOf Aj
, whereAi, Aj
are annotation properties.- Specified by:
superProperties
in interfaceOntProperty
- Returns:
Stream
ofOntAnnotationProperty
s- See Also:
-
addRange
Adds a statement with theRDFS.range
as predicate and the specifieduri
as an object.- Parameters:
uri
- a URI-Resource
, notnull
- Returns:
- this instance to allow cascading calls
- See Also:
-
addDomain
Adds a statement with theRDFS.domain
as predicate and the specifieduri
as an object.- Parameters:
uri
- a URI-Resource
, 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
-
addSuperProperty
Adds the given property as super property returning this property itself.- Parameters:
property
-OntAnnotationProperty
, notnull
- Returns:
- this instance to allow cascading calls
- See Also:
-
addSubProperty
Adds the given property as sub property returning this property itself.- Parameters:
property
-OntAnnotationProperty
, notnull
- Returns:
- this instance to allow cascading calls
- See Also:
-
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
-
removeSubProperty
Removes the specified sub 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 an object.- Specified by:
removeSubProperty
in interfaceOntProperty
- Parameters:
property
-Resource
ornull
to remove all direct super properties- Returns:
- this instance to allow cascading calls
-
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)
-