- 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 OntAnnotationPropertyaddDomain(org.apache.jena.rdf.model.Resource uri) Adds a statement with theRDFS.domainas predicate and the specifiedurias an object.default OntAnnotationPropertyaddRange(org.apache.jena.rdf.model.Resource uri) Adds a statement with theRDFS.rangeas predicate and the specifiedurias an object.default OntAnnotationPropertyaddSubProperty(OntAnnotationProperty property) Adds the given property as sub property returning this property itself.default OntAnnotationPropertyaddSuperProperty(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 giventypeinterface, if it is possible.getModel()Returns the ontology model associated with this resource.booleanisLocal()Determines if this Ontology Resource is locally defined.Stream<org.apache.jena.rdf.model.Resource>ranges()Lists all valid annotation property ranges.default OntAnnotationPropertyremoveDomain(org.apache.jena.rdf.model.Resource domain) Removes the specified domain resource (predicate isrdfs:domain), including the corresponding statement's annotations.default OntAnnotationPropertyremoveRange(org.apache.jena.rdf.model.Resource range) Removes the specified range resource (predicate isrdfs:range), including the corresponding statement's annotations.default OntAnnotationPropertyremoveSubProperty(org.apache.jena.rdf.model.Resource property) Removes the specified sub property (predicate isrdfs:subPropertyOf), including the corresponding statement's annotations.default OntAnnotationPropertyremoveSuperProperty(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 aStreamover 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 aStreamover all the properties that are declared to be super-properties of this property.Methods inherited from interface org.apache.jena.graph.FrontsNode
asNodeMethods inherited from interface org.apache.jena.ontapi.model.OntNamedProperty
addComment, addComment, addLabel, addLabel, annotate, annotate, isPropertyMethods 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, typesMethods inherited from interface org.apache.jena.ontapi.model.OntProperty
addDomainStatement, addRangeStatement, addSubPropertyOfStatement, asProperty, declaringClasses, hasSubProperty, hasSuperPropertyMethods inherited from interface org.apache.jena.rdf.model.Property
getLocalName, getNameSpace, getOrdinal, inModelMethods inherited from interface org.apache.jena.rdf.model.RDFNode
as, asLiteral, asResource, asStatementTerm, canAs, isAnon, isLiteral, isResource, isStatementTerm, isURIResource, visitWithMethods 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, getURI, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasProperty, hasProperty, hasProperty, hasProperty, hasURI, listProperties, listProperties, listProperties, removeAll, removeProperties, toString
-
Method Details
-
subProperties
Answers aStreamover all the properties that are declared to be sub-properties of this property. Each element of theStreamwill have the same type as this property instance: if it is datatype property the method will return only data properties, etc. The parameterdirectcontrols 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 .Ahas two sub-properties,BandC, andChas sub-propertyD) In a raw model, with no inference support, listing the sub-property ofAwill answerBandC. In an inferencing model,rdfs:subPropertyOfis known to be transitive, so the sub-properties iterator will includeD. Thedirectsub-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 ofAareBandConly, 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.Ahas sub-propertyC. But the direct sub-properties ofAremainBandC, since there is a longer pathA-C-Dthat means thatDis not a direct sub-property ofA. The assertion in the raw graph thatAhas sub-propertyDis essentially redundant, since this can be inferred from the closure of the graph.- Specified by:
subPropertiesin interfaceOntProperty- Parameters:
direct-booleaniftrueanswers 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
Streamof annotation properties - See Also:
-
superProperties
Answers aStreamover all the properties that are declared to be super-properties of this property. Each element of theStreamwill have the same type as this property instance: if it is datatype property the method will return only data properties, etc. The parameterdirectcontrols 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 .Ahas super-propertyBandC, andChas super-propertyD) In a raw model, with no inference support, listing the super-property ofAwill answerBandC. In an inferencing model,rdfs:subPropertyOfis known to be transitive, so the super-property iterator will includeD. Thedirectsuper-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 ofAareBandConly, 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 .Ahas super-propertyB,C,D. But the direct super-property ofAremain onlyBand C, since there is a longer pathA-C-Dthat means thatDis not a direct super-property ofA. The assertion in the raw graph thatAhas super-propertyDis essentially redundant, since this can be inferred from the closure of the graph.- Specified by:
superPropertiesin interfaceOntProperty- Parameters:
direct-boolean: iftrueanswers 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; iffalseanswers all super-properties found by inferencer, which usually means entire hierarchy up the tree; this instance is not included- Returns:
- distinct
Streamof 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:
domainsin interfaceOntProperty- Returns:
Streamof uri-Resources- See Also:
-
ranges
Stream<org.apache.jena.rdf.model.Resource> ranges()Lists all valid annotation property ranges.- Specified by:
rangesin interfaceOntProperty- Returns:
Streamof uri-Resources- 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, Ajare annotation properties.- Specified by:
subPropertiesin interfaceOntProperty- Returns:
StreamofOntAnnotationPropertys- 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, Ajare annotation properties.- Specified by:
superPropertiesin interfaceOntProperty- Returns:
StreamofOntAnnotationPropertys- See Also:
-
addRange
Adds a statement with theRDFS.rangeas predicate and the specifiedurias an object.- Parameters:
uri- a URI-Resource, notnull- Returns:
- this instance to allow cascading calls
- See Also:
-
addDomain
Adds a statement with theRDFS.domainas predicate and the specifiedurias 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 ifnullis specified.- Specified by:
removeDomainin interfaceOntProperty- Parameters:
domain-Resource, ornullto 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 ifnullis specified.- Specified by:
removeRangein interfaceOntProperty- Parameters:
range-Resource, ornullto 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. Ifnullis specified, the method removes all triples with predicaterdfs:subPropertyOfand this property as a subject.- Specified by:
removeSuperPropertyin interfaceOntProperty- Parameters:
property-Resourceornullto 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. Ifnullis specified, the method removes all triples with predicaterdfs:subPropertyOfand this property as an object.- Specified by:
removeSubPropertyin interfaceOntProperty- Parameters:
property-Resourceornullto 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:
getModelin 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:importsin OWL) and the resource is defined in one of them, than this method called from top-level interface will returnfalse.- Returns:
trueif this resource is local to the base model graph.
-
getAs
Safely converts this RDF resource to the giventypeinterface, 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
Xornull - See Also:
-
RDFNode.as(Class)RDFNode.canAs(Class)
-