- 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.domainas predicate, this property as a subject, and the specifiedclass expressionas an object.default OntStatementCreates theP rdf:type owl:FunctionalPropertyproperty declaration statement, wherePis 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 giventypeinterface, if it is possible.getModel()Returns the ontology model associated with this resource.default booleanAnswerstrueiff it is a functional (data or object) property expression.booleanisLocal()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:rangeas predicate.default Stream<OntClass.Restriction>Answers aStreamover 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:propertyDisjointWithstatement (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:FunctionalPropertydeclaration 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 aStreamover 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 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.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, typesMethods inherited from interface org.apache.jena.ontapi.model.OntProperty
addDomainStatement, addRangeStatement, addSubPropertyOfStatement, asProperty, declaringClasses, hasSubProperty, hasSuperProperty, removeSubPropertyMethods 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, getLocalName, getNameSpace, getProperty, getProperty, getPropertyResourceValue, getRequiredProperty, getURI, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasProperty, hasProperty, hasProperty, hasProperty, hasURI, inModel, 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 sub-property relation- Returns:
- distinct
Streamof data or object 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- Returns:
- distinct
Streamof data or object properties - See Also:
-
ranges
Lists all property ranges, i.e., all objects from statements with this property as a subject andrdfs:rangeas predicate.- Specified by:
rangesin interfaceOntProperty- Returns:
Streamofontology objects- 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:
subPropertiesin interfaceOntProperty- Returns:
StreamofOntRelationalPropertys (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:
superPropertiesin interfaceOntProperty- Returns:
StreamofOntRelationalPropertys (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, wherePis this property andRis a returned property of the same type.- Returns:
StreamofOntRelationalPropertys - 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, wherePis this property andRis a returned property of the same type.- Returns:
StreamofOntRelationalPropertys - object or data properties
-
negativeAssertions
Stream<? extends OntNegativeAssertion<?,?>> negativeAssertions()Lists all negative property assertions. A negative property assertion is anonymous resource with the typeowl:NegativePropertyAssertionthat has a data or object property expression as an object on the predicateowl:assertionProperty.- Returns:
StreamofOntNegativeAssertion
-
addDomain
Adds a statement with theRDFS.domainas predicate, this property as a subject, and the specifiedclass expressionas 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 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
-
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
-
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) ifnullis given.- Parameters:
property-Resourceornullto remove all equivalent properties- Returns:
- this instance to allow cascading calls
-
removeDisjointProperty
Removes theowl:propertyDisjointWithstatement (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) ifnullis given.- Parameters:
property-Resourceornullto remove all disjoint properties- Returns:
- this instance to allow cascading calls
- See Also:
-
referringRestrictions
Answers aStreamover any restrictions that mention this property as the property that the restriction is adding some constraint to. For example:
Note that any such restrictions do not affect the global semantics of this property itself. Restrictions define new class expressions, and the property constraints are local to that class expression. This method is provided as a convenience to assist callers to navigate the relationships in the model._:x rdf:type owl:Restriction. _:x owl:onProperty P. _:x owl:qualifiedCardinality n. _:x owl:onClass C.- Returns:
- a
Streamwhose 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, wherePis this property expression.- Specified by:
domainsin interfaceOntProperty- Returns:
Streamofclass expressions- 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):
from these statements it can be derived that only primates can have names (which does not mean that all primates 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 .
The same is true for object properties: if "only people can have dogs" then "only primates can have dogs":hasName rdfs:domain :Primate .- Parameters:
direct- iftruethe method behaves the same asdomains()- Returns:
Streamofclass expressions, distinct
-
addFunctionalDeclaration
Creates theP rdf:type owl:FunctionalPropertyproperty declaration statement, wherePis this property.- Returns:
OntStatementto allow the subsequent addition of annotations- See Also:
-
isFunctional
default boolean isFunctional()Answerstrueiff it is a functional (data or object) property expression. A functional property is defined by the statementP rdf:type owl:FunctionalProperty, wherePis this property expression.- Returns:
- boolean
-
setFunctional
Adds or removesowl:FunctionalPropertydeclaration for this property according to the given boolean flag. Note: the statement is removed along with all its annotations.- Parameters:
functional-trueif 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:
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)
-