Module org.apache.jena.ontapi
Class OntAnnotationPropertyImpl
java.lang.Object
org.apache.jena.enhanced.Polymorphic<org.apache.jena.rdf.model.RDFNode>
org.apache.jena.enhanced.EnhNode
org.apache.jena.rdf.model.impl.ResourceImpl
org.apache.jena.ontapi.impl.objects.OntObjectImpl
org.apache.jena.ontapi.impl.objects.OntPropertyImpl
org.apache.jena.ontapi.impl.objects.OntAnnotationPropertyImpl
- All Implemented Interfaces:
org.apache.jena.graph.FrontsNode,OntAnnotationProperty,OntEntity,OntNamedProperty<OntAnnotationProperty>,OntObject,OntProperty,org.apache.jena.rdf.model.Property,org.apache.jena.rdf.model.RDFNode,org.apache.jena.rdf.model.Resource
Implementation of Annotation Property abstraction
(a URI-
Resource with owl:AnnotationProperty type).-
Field Summary
Fields inherited from class org.apache.jena.rdf.model.impl.ResourceImpl
factory, rdfNodeFactory -
Constructor Summary
ConstructorsConstructorDescriptionOntAnnotationPropertyImpl(org.apache.jena.graph.Node n, org.apache.jena.enhanced.EnhGraph g) -
Method Summary
Modifier and TypeMethodDescriptionaddDomainStatement(org.apache.jena.rdf.model.Resource domain) Adds a statement$this rdfs:domain $domain.addRangeStatement(org.apache.jena.rdf.model.Resource range) Adds range statement$this rdfs:range $range.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<org.apache.jena.rdf.model.Resource>domains()Lists all valid annotation property domains in the form of javaStream.Finds the first declaration root statement.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.intbooleanhasSuperProperty(OntProperty property, boolean direct) Answerstrueif the given property is a super-property of this property.org.apache.jena.rdf.model.PropertyinModel(org.apache.jena.rdf.model.Model m) booleanDetermines if this is a builtin entity.booleanisLocal()Determines if this Ontology Resource is locally defined.Gets a public ont-object type identifier.Stream<org.apache.jena.rdf.model.Resource>ranges()Lists all valid annotation property ranges.subProperties(boolean direct) Answers aStreamover all the properties that are declared to be sub-properties of this property.superProperties(boolean direct) Answers aStreamover all the properties that are declared to be super-properties of this property.Methods inherited from class org.apache.jena.ontapi.impl.objects.OntPropertyImpl
addDisjointWith, addEquivalentProperty, asProperty, declaringClasses, disjointProperties, equivalentProperties, hasSuperProperty, removeDisjointWith, removeEquivalentProperty, subProperties, superPropertiesMethods inherited from class org.apache.jena.ontapi.impl.objects.OntObjectImpl
addAnnotation, addStatement, annotations, annotationValues, assertions, checkNamed, checkNamed, clearAnnotations, content, findActualClass, findActualClass, getAs, getMainStatement, getModel, getNodeAs, getRequiredObject, getRequiredProperty, isLocal, isReservedOrBuiltin, listAnnotationLiterals, listAnnotations, listAssertions, listObjects, listObjects, listProperties, listProperties, listSpec, listStatements, listStatements, listSubjects, object, objects, objects, remove, spec, statement, statement, statements, statements, subjects, toString, wrapAsOntObjectMethods inherited from class org.apache.jena.rdf.model.impl.ResourceImpl
abort, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addProperty, addProperty, addProperty, addProperty, addProperty, addProperty, addProperty, asLiteral, asResource, asStatementTerm, begin, commit, getId, getLocalName, getNameSpace, getProperty, getProperty, getPropertyResourceValue, getRequiredProperty, getURI, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasProperty, hasProperty, hasProperty, hasProperty, hasURI, listProperties, removeAll, removeProperties, visitWithMethods inherited from class org.apache.jena.enhanced.EnhNode
as, asNode, canAs, equals, getGraph, hashCode, isAnon, isLiteral, isResource, isStatementTerm, isURIResource, isValid, viewAsMethods inherited from class org.apache.jena.enhanced.Polymorphic
addView, supportsMethods inherited from interface org.apache.jena.graph.FrontsNode
asNodeMethods inherited from interface org.apache.jena.ontapi.model.OntAnnotationProperty
addDomain, addRange, addSubProperty, addSuperProperty, removeDomain, removeRange, removeSubProperty, removeSuperProperty, subProperties, superPropertiesMethods 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, remove, spec, statement, statement, statements, statements, typesMethods inherited from interface org.apache.jena.ontapi.model.OntProperty
addSubPropertyOfStatement, asProperty, hasSubPropertyMethods inherited from interface org.apache.jena.rdf.model.Property
getLocalName, getNameSpaceMethods 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
-
Constructor Details
-
OntAnnotationPropertyImpl
public OntAnnotationPropertyImpl(org.apache.jena.graph.Node n, org.apache.jena.enhanced.EnhGraph g)
-
-
Method Details
-
objectType
Description copied from class:OntObjectImplGets a public ont-object type identifier.- Specified by:
objectTypein interfaceOntObject- Overrides:
objectTypein classOntObjectImpl- Returns:
- Class, the actual type of this object
-
superProperties
Description copied from interface:OntAnnotationPropertyAnswers 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 interfaceOntAnnotationProperty- 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:
-
subProperties
Description copied from interface:OntAnnotationPropertyAnswers 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 interfaceOntAnnotationProperty- 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:
-
addDomainStatement
Description copied from interface:OntPropertyAdds a statement$this rdfs:domain $domain.- Specified by:
addDomainStatementin interfaceOntProperty- Parameters:
domain-Resource, not null- Returns:
OntStatementto allow the subsequent addition of annotations
-
addRangeStatement
Description copied from interface:OntPropertyAdds range statement$this rdfs:range $range.- Specified by:
addRangeStatementin interfaceOntProperty- Parameters:
range-Resource, notnull- Returns:
OntStatementto allow subsequent annotations adding
-
domains
Description copied from interface:OntAnnotationPropertyLists all valid annotation property domains in the form of javaStream.- Specified by:
domainsin interfaceOntAnnotationProperty- Specified by:
domainsin interfaceOntProperty- Returns:
Streamof uri-Resources- See Also:
-
ranges
Description copied from interface:OntAnnotationPropertyLists all valid annotation property ranges.- Specified by:
rangesin interfaceOntAnnotationProperty- Specified by:
rangesin interfaceOntProperty- Returns:
Streamof uri-Resources- See Also:
-
declaringClasses
Description copied from interface:OntPropertyAnswers 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- Specified by:
declaringClassesin interfaceOntProperty- 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
-
hasSuperProperty
Description copied from interface:OntPropertyAnswerstrueif the given property is a super-property of this property. SeeOntProperty.superProperties(boolean)for a full explanation of the direct parameter.- Specified by:
hasSuperPropertyin interfaceOntProperty- Parameters:
property- aOntPropertyto testdirect-boolean; If true, only search the properties that are directly adjacent to this property in the class hierarchy- Returns:
boolean
-
isBuiltIn
public boolean isBuiltIn()Description copied from interface:OntEntityDetermines if this is a builtin entity. In a standard (default) OWL2 vocabulary an entity is builtin if it is:- a
classand its IRI is eitherowl:Thingorowl:Nothing - an
object propertyand its IRI is eitherowl:topObjectPropertyorowl:bottomObjectProperty - a
data propertyand its IRI is eitherowl:topDataPropertyorowl:bottomDataProperty - a
datatypeand its IRI is eitherrdfs:Literal, orrdf:PlainLiteral, or it is from the OWL 2 datatype map - an
annotation propertyand its IRI is one of the following:rdfs:labelrdfs:commentrdfs:seeAlsordfs:isDefinedByowl:deprecatedowl:versionInfoowl:priorVersionowl:backwardCompatibleWithowl:incompatibleWith
Builtins Vocabulary. A model with differentBuiltinsvocabulary will naturally have a differentSetof builtin IRIs, and this method will return a different result. - a
-
inModel
public org.apache.jena.rdf.model.Property inModel(org.apache.jena.rdf.model.Model m) - Specified by:
inModelin interfaceorg.apache.jena.rdf.model.Property- Specified by:
inModelin interfaceorg.apache.jena.rdf.model.RDFNode- Specified by:
inModelin interfaceorg.apache.jena.rdf.model.Resource- Overrides:
inModelin classorg.apache.jena.rdf.model.impl.ResourceImpl
-
findRootStatement
Description copied from class:OntObjectImplFinds the first declaration root statement. The graph may contain several triples with predicaterdf:typeand this ontology object as a subject. In this case, the result is unpredictable.- Overrides:
findRootStatementin classOntObjectImpl- Returns:
- Optional around
OntStatementthat supports plain annotation assertions
-
getOrdinal
public int getOrdinal()- Specified by:
getOrdinalin interfaceorg.apache.jena.rdf.model.Property
-
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)
-