public abstract class Property extends FinalizedResource
PropertySetup
where all the
characteristics of this property are defined.ObjectProperty
,
ObjectPropertySetup
,
DatatypeProperty
,
DatatypePropertySetup
,
PropertySetup
Modifier and Type | Class and Description |
---|---|
protected class |
Property.PrivatePropertySetup
Implementation of the setup interface.
|
Modifier and Type | Field and Description |
---|---|
protected OntClassInfo |
info
The ontology that defines this property.
|
protected boolean |
isFunctional
Determines whether this property is functional.
|
static String |
PROP_RDFS_DOMAIN
URI of rdfs:domain that is used to state that any resource that has a
given property is an instance of one or more classes.
|
static String |
PROP_RDFS_RANGE
URI of rdfs:range that is used to state that the values of a property are
instances of one or more classes.
|
protected Property.PrivatePropertySetup |
setup
The setup interface.
|
static String |
TYPE_FUNCTIONAL |
ANON_URI_PREFIX, blockAddingTypes, isXMLLiteral, NAMESPACE_PREFIX, ns_delim_index, PROP_INVOLVED_HUMAN_USER, PROP_RDF_FIRST, PROP_RDF_REST, PROP_RDF_TYPE, PROP_RDFS_COMMENT, PROP_RDFS_LABEL, PROP_SERIALIZATION_FULL, PROP_SERIALIZATION_OPTIONAL, PROP_SERIALIZATION_REDUCED, PROP_SERIALIZATION_UNDEFINED, props, RDF_EMPTY_LIST, RDF_NAMESPACE, RDFS_NAMESPACE, SERVICE_NAMESPACE, TYPE_RDF_LIST, TYPE_RDFS_CLASS, uri, VOCABULARY_NAMESPACE
Modifier | Constructor and Description |
---|---|
protected |
Property(String uri,
OntClassInfo info)
Protected constructor, to create instances call either
ObjectProperty#create(String, OntClassInfo) or
DatatypeProperty#create(String, OntClassInfo) . |
Modifier and Type | Method and Description |
---|---|
protected boolean |
containsType(String type,
Object value) |
boolean |
isFunctional()
Determines whether this property is functional.
|
boolean |
setProperty(String propURI,
Object value)
Adds a statement with this resource as the subject, the given
propURI as the predicate and the given value as the object. |
addType, getLocalName, getNamespace, getProperty, getPropertyURIs, getType, getTypes, getURI, hasQualifiedName, isAnon, numberOfProperties
addMultiLangProp, asList, asList, asRDFList, changeProperty, copy, deepCopy, equals, generateAnonURI, getDefaultLang, getFilename, getMultiLangProp, getOrConstructLabel, getOrConstructLabel, getPropSerializationType, getResource, getResourceComment, getResourceLabel, getResourceLabel, getStaticFieldValue, hashCode, hasProperty, isAnon, isBlockingAddingTypes, isClosedCollection, isQualifiedName, isWellFormed, literal, representsQualifiedURI, serializesAsXMLLiteral, setPropertyPath, setPropertyPath, setPropertyPathFromOffset, setResourceComment, setResourceLabel, toString, toStringRecursive, toStringRecursive, unliteral
public static final String PROP_RDFS_DOMAIN
public static final String PROP_RDFS_RANGE
public static final String TYPE_FUNCTIONAL
protected boolean isFunctional
protected OntClassInfo info
protected Property.PrivatePropertySetup setup
protected Property(String uri, OntClassInfo info)
ObjectProperty#create(String, OntClassInfo)
or
DatatypeProperty#create(String, OntClassInfo)
.uri
- URI of this property.info
- The class for which this property is defined.public boolean isFunctional()
PropertySetup.setFunctional()
public boolean setProperty(String propURI, Object value)
Resource
propURI
as the predicate and the given value as the object.
Subclasses must override this in order to decide if the statement to be
added fits the general class constraints. If not, the call of this method
should be ignored. For each property only one single call may be made to
this method, unless subsequent calls to this method for setting the value
of the same property are treated as an update for an update-able
property. Multi-valued properties must be set using an instance of
List
. The differentiation, if a such list should be
treated as an rdf:List, can be made with the help of
Resource.isClosedCollection(String)
. The default implementation here
accepts all property-value pairs blindly except for rdf:type which is
handled if the value is a type URI, a Resource or a java.util.List of
them.
Note: The setting of the property rdf:type is being handled by this class
via the final methods Resource.addType(String, boolean)
,
Resource.getType()
, and Resource.getTypes()
. Although these methods give
the view of handling type URIs as strings, but in reality the types are
stored as direct instances of this class. So, the subclasses should
ignore calls for setting rdf:type; if not, then the subclass must pay
attention that the value should be a List
of direct instances of
this class so that (1) the Resource.toString()
method returns just the
URI and (2) the serializers get no problems with the value. Also,
settings via subclasses may be overwritten by this class if a subsequent
call to Resource.addType(String, boolean)
is made.
setProperty
in class Resource
Copyright © 2018 universAAL Consortium. All rights reserved.