- All Superinterfaces:
org.apache.jena.graph.FrontsNode,OntObject,org.apache.jena.rdf.model.RDFNode,org.apache.jena.rdf.model.Resource
- All Known Subinterfaces:
OntAnnotationProperty,OntDataProperty,OntObjectProperty,OntObjectProperty.Inverse,OntObjectProperty.Named,OntRelationalProperty
- All Known Implementing Classes:
OntAnnotationPropertyImpl,OntDataPropertyImpl,OntObjectPropertyImpl,OntObjectPropertyImpl.InversePropertyImpl,OntObjectPropertyImpl.NamedImpl,OntPropertyImpl,OntSimplePropertyImpl
An abstraction for any Ontology Property Expression.
In OWL2 there are four such property expressions:
Data Property, Object Property (OWL Entity and InverseOf) and Annotation Property.
-
Method Summary
Modifier and TypeMethodDescriptiondefault OntStatementaddDomainStatement(org.apache.jena.rdf.model.Resource domain) Adds a statement$this rdfs:domain $domain.default OntStatementaddRangeStatement(org.apache.jena.rdf.model.Resource range) Adds range statement$this rdfs:range $range.default OntStatementaddSubPropertyOfStatement(org.apache.jena.rdf.model.Resource property) Adds the given property as super property returning a new statement to annotate.org.apache.jena.rdf.model.PropertyReturns a named part of this property expression.declaringClasses(boolean direct) Answers aStreamof all the classes in this ontology, such that each returned class has this property as one of its properties inOntClass.declaredProperties(boolean).Stream<? extends org.apache.jena.rdf.model.Resource>domains()Lists all property domains.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 booleanhasSubProperty(OntProperty property, boolean direct) Answerstrueif the given property is a sub-property of this property.default booleanhasSuperProperty(OntProperty property, boolean direct) Answerstrueif the given property is a super-property of this property.booleanisLocal()Determines if this Ontology Resource is locally defined.Stream<? extends org.apache.jena.rdf.model.Resource>ranges()Lists all property ranges.default OntPropertyremoveDomain(org.apache.jena.rdf.model.Resource domain) Removes the specified domain resource (predicate isrdfs:domain), including the corresponding statement's annotations.default OntPropertyremoveRange(org.apache.jena.rdf.model.Resource range) Removes the specified range resource (predicate isrdfs:range), including the corresponding statement's annotations.default OntPropertyremoveSubProperty(org.apache.jena.rdf.model.Resource property) Removes the specified sub property (predicate isrdfs:subPropertyOf), including the corresponding statement's annotations.default OntPropertyremoveSuperProperty(org.apache.jena.rdf.model.Resource property) Removes the specified super property (predicate isrdfs:subPropertyOf), including the corresponding statement's annotations.default Stream<? extends OntProperty>Lists all the properties that are declared to be sub-properties of this property (directly or indirectly).Stream<? extends OntProperty>subProperties(boolean direct) Answers aStreamover all the properties that are declared to be sub-properties of this property.default Stream<? extends OntProperty>Lists all the properties that are declared to be super-properties of this property (directly or indirectly).Stream<? extends OntProperty>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.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
-
asProperty
org.apache.jena.rdf.model.Property asProperty()Returns a named part of this property expression.- Returns:
Property
-
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.- Parameters:
direct-boolean- iftrueanswers 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; iffalseanswers all sub-properties found by inferencer, which usually means entire hierarchy down the tree; this property is not included- Returns:
- distinct
Streamof properties with the same type as this property - 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.- 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 properties with the same type as this property - See Also:
-
domains
Stream<? extends org.apache.jena.rdf.model.Resource> domains()Lists all property domains.- Returns:
StreamofResources- See Also:
-
ranges
Stream<? extends org.apache.jena.rdf.model.Resource> ranges()Lists all property ranges.- Returns:
StreamofResources- See Also:
-
declaringClasses
Answers aStreamof 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- Parameters:
direct-booleaniftrue, use only direct associations between classes and properties- Returns:
- a
Streamof the classes having this property as one of their declared properties
-
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).- Returns:
Streamofont-properties- 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).- Returns:
Streamofont-properties- See Also:
-
hasSubProperty
Answerstrueif the given property is a sub-property of this property. SeesubProperties(boolean)for a full explanation of the direct parameter.- Parameters:
property- aOntPropertyto testdirect-boolean; If true, only search the properties that are directly adjacent to this property in the class hierarchy- Returns:
boolean
-
hasSuperProperty
Answerstrueif the given property is a super-property of this property. SeesuperProperties(boolean)for a full explanation of the direct parameter.- Parameters:
property- aOntPropertyto testdirect-boolean; If true, only search the properties that are directly adjacent to this property in the class hierarchy- Returns:
boolean
-
addSubPropertyOfStatement
Adds the given property as super property returning a new statement to annotate. The triple pattern is$this rdfs:subPropertyOf $property).- Parameters:
property-Resource, notnull- Returns:
OntStatementto allow subsequent annotations adding
-
addRangeStatement
Adds range statement$this rdfs:range $range.- Parameters:
range-Resource, notnull- Returns:
OntStatementto allow subsequent annotations adding
-
addDomainStatement
Adds a statement$this rdfs:domain $domain.- Parameters:
domain-Resource, not null- Returns:
OntStatementto allow the subsequent addition of annotations
-
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.- 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.- 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.- 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.- 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)
-