public final class PropertyPath extends FinalizedResource
(a p1 b)
(a p1 c)
(b p2 d)
(c p2 e)
(c p2 f)
(d p3 g)
(d p3 h)
(e p3 i)
(f p3 j)
(f p3 k)
Then the following relations can be deduced using the property path
{p1, p2, p3}
:
(a {p1, p2, p3} g)
.
(a {p1, p2, p3} h)
(a {p1, p2, p3} i)
(a {p1, p2, p3} j)
(a {p1, p2, p3} k)
As the type hierarchy of PropertyPath plays no specific role in ontological
reasoning, it is not defined as subclass of
ManagedIndividual
but just as a
Resource
.
Modifier and Type | Field and Description |
---|---|
static String |
PROP_PROPERTY_PATH
The only property of a property path is the one pointing to the list of
properties that build up the path.
|
static String |
TYPE_PROPERTY_PATH
URI of this class.
|
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
Constructor and Description |
---|
PropertyPath()
The constructor for (de-)serializers.
|
PropertyPath(boolean isXMLLiteral)
The constructor for property paths which may be XML Literals.
|
PropertyPath(String uri)
The constructor for property paths with a specified URI.
|
PropertyPath(String uri,
boolean isXMLLiteral)
The constructor for property paths which may be XML Literals and with a
specified URI.
|
PropertyPath(String uri,
boolean isXMLLiteral,
String[] thePath)
The constructor for property paths.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object other)
Determines if the property path of this object equals the property path
of another object.
|
String |
getFirstPathElement()
Get the first element of the path.
|
String |
getLastPathElement()
Get the last element of the path.
|
static String[] |
getSubpath(String[] path,
int i)
Get a property path that is a part of the specified property path.
|
String[] |
getThePath()
Get the path in form of a String array.
|
boolean |
isClosedCollection(String propURI)
Returns true if the value of the given property should be treated as an
rdf:List.
|
static boolean |
pathHasPrefix(String[] path,
String[] prefix)
Determines if the specified property path has as prefix a specified set
of properties.
|
boolean |
setProperty(String propURI,
Object o)
Adds a statement with this resource as the subject, the given
propURI as the predicate and the given value as the object. |
void |
setThePath(String[] propPath)
Set the path for this object.
|
PropertyPath |
toLiteral()
Creates a new PropertyPath and copies the property containing the
property path to it.
|
static PropertyPath |
toPropertyPath(Resource pr)
Takes a Resource and creates an instance of PropertyPath.
|
void |
unliteral()
Make this object not being an XMLLiteral.
|
addType, getLocalName, getNamespace, getProperty, getPropertyURIs, getType, getTypes, getURI, hasQualifiedName, isAnon, numberOfProperties
addMultiLangProp, asList, asList, asRDFList, changeProperty, copy, deepCopy, generateAnonURI, getDefaultLang, getFilename, getMultiLangProp, getOrConstructLabel, getOrConstructLabel, getPropSerializationType, getResource, getResourceComment, getResourceLabel, getResourceLabel, getStaticFieldValue, hashCode, hasProperty, isAnon, isBlockingAddingTypes, isQualifiedName, isWellFormed, literal, representsQualifiedURI, serializesAsXMLLiteral, setPropertyPath, setPropertyPath, setPropertyPathFromOffset, setResourceComment, setResourceLabel, toString, toStringRecursive, toStringRecursive
public static final String PROP_PROPERTY_PATH
public static final String TYPE_PROPERTY_PATH
public PropertyPath()
public PropertyPath(String uri)
public PropertyPath(boolean isXMLLiteral)
public PropertyPath(String uri, boolean isXMLLiteral)
public static String[] getSubpath(String[] path, int i)
path
- The property path from which to extract the sub path.i
- The resulting sub path contains all elements from the
specified path from position 'i' to the end.public static boolean pathHasPrefix(String[] path, String[] prefix)
path
- the full path that is investigated for having the prefix.prefix
- the property path that should be a prefix of path.public static PropertyPath toPropertyPath(Resource pr)
pr
- the resource that should be converted into an instance of
PropertyPath
.PropertyPath
.public boolean equals(Object other)
public String getFirstPathElement()
public String getLastPathElement()
public String[] getThePath()
public boolean isClosedCollection(String propURI)
Resource
List
is assumed to be a closed collection
(unless it is specifically an instance of OpenCollection
).
Subclasses can change this, if needed.isClosedCollection
in class Resource
public boolean setProperty(String propURI, Object o)
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
public void setThePath(String[] propPath)
propPath
- The set of URIs.Resource.isQualifiedName(java.lang.String)
public PropertyPath toLiteral()
PROP_PROPERTY_PATH
copied.Copyright © 2018 universAAL Consortium. All rights reserved.