public final class Union extends TypeExpression
TypeExpression
that contains all individuals/literals that are in
one of the given type expressions. Union corresponds to OWL ObjectUnionOf or
DataUnionOf.
For example, Union(Enumeration(ex:Peter), Enumeration(ex:Paul))
contains the individuals ex:Peter and ex:Paul, and
Union(Enumeration("Peter"), Enumeration(1))
contains the String
"Peter" and the integer one.
The given type expressions must not mix sets of individuals with sets of
literals. For example,
Union(Enumeration(ex:Peter), Enumeration(1))
is not possible, as
it combines individuals (ex:Peter) with literals (1).
Modifier and Type | Field and Description |
---|---|
static String |
PROP_OWL_UNION_OF
URI for owl:unionOf .
|
EXCEPTION_TTL, OWL_CLASS, OWL_NAMESPACE, PROP_RDFS_SUB_CLASS_OF, RDFS_DATATYPE, TYPE_OWL_THING
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 |
---|
Union()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addType(TypeExpression type)
Add a new child type expression.
|
TypeExpression |
copy()
Create a copy of this object, i.e.
|
String[] |
getNamedSuperclasses()
Get the set of class URIs for all super classes of the individuals of
this class expression.
|
Object[] |
getUpperEnumeration()
Each type expression can contain multiple objects; this method returns
this set of objects.
|
boolean |
hasMember(Object value,
HashMap context,
int ttl,
List<MatchLogEntry> log)
Returns true if the given object is a member of the class
represented by this type expression, otherwise false.
|
boolean |
isDisjointWith(TypeExpression other,
HashMap context,
int ttl,
List<MatchLogEntry> log)
Returns true if the given type expression has no member in
common with the class represented by this type expression, otherwise
false.
|
boolean |
isWellFormed()
Returns true, if the state of the resource is valid, otherwise
false.
|
boolean |
matches(TypeExpression subtype,
HashMap context,
int ttl,
List<MatchLogEntry> log)
Returns true if the given type expression is a subset of the class
represented by this type expression, otherwise false.
|
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. |
Iterator<TypeExpression> |
types()
Get an iterator for the child type expressions.
|
checkTTL, collectTypesMinimized, getDefaultMatchmakingTTL, hasMember, hasMember, isDisjointWith, isDisjointWith, matches, matches, synchronize
addMultiLangProp, addType, asList, asList, asRDFList, changeProperty, copy, deepCopy, equals, generateAnonURI, getDefaultLang, getFilename, getLocalName, getMultiLangProp, getNamespace, getOrConstructLabel, getOrConstructLabel, getProperty, getPropertyURIs, getPropSerializationType, getResource, getResourceComment, getResourceLabel, getResourceLabel, getStaticFieldValue, getType, getTypes, getURI, hashCode, hasProperty, hasQualifiedName, isAnon, isAnon, isBlockingAddingTypes, isClosedCollection, isQualifiedName, literal, numberOfProperties, representsQualifiedURI, serializesAsXMLLiteral, setPropertyPath, setPropertyPath, setPropertyPathFromOffset, setResourceComment, setResourceLabel, toString, toStringRecursive, toStringRecursive, unliteral
public static final String PROP_OWL_UNION_OF
public boolean addType(TypeExpression type)
type
- The type expression to add.Collection#add(Object)
)public TypeExpression copy()
TypeExpression
copy
in class TypeExpression
public String[] getNamedSuperclasses()
TypeExpression
getNamedSuperclasses
in class TypeExpression
public Object[] getUpperEnumeration()
TypeExpression
getUpperEnumeration
in class TypeExpression
public boolean hasMember(Object value, HashMap context, int ttl, List<MatchLogEntry> log)
TypeExpression
context
table maps the URIs of certain variables onto values
currently assigned to them. The variables are either standard variables
managed by the universAAL middleware or parameters of a specific service
in whose context this method is called. Both the object whose membership
is going to be checked and this type expression may contain references to
such variables. If there is already a value assigned to such a referenced
variable, it must be replaced by the associated value, otherwise this
method may expand the context
table by deriving a value for
such unassigned but referenced variables with which the membership can be
asserted. In case of returning true, the caller must check the size of
the context
table to see if new conditions are added in
order for the membership to be asserted. If the context
table is null, the method does a global and unconditional check.hasMember
in class TypeExpression
value
- the object whose membership is going to be checkedcontext
- context of the matchmaking. May be null.ttl
- time-to-live parameterlog
- list that can be filled with log entries. May be null.org.universAAL.middleware.util.Constants#VAR_ACCESSING_BUS_MEMBER
,
org.universAAL.middleware.util.Constants#VAR_ACCESSING_HUMAN_USER
,
org.universAAL.middleware.util.Constants#VAR_CURRENT_DATETIME
,
org.universAAL.middleware.util.Constants#VAR_SERVICE_TO_SELECT
public boolean matches(TypeExpression subtype, HashMap context, int ttl, List<MatchLogEntry> log)
TypeExpression
context
table maps the URIs of certain variables onto values
currently assigned to them. The variables are either standard variables
managed by the universAAL middleware or parameters of a specific service
in whose context this method is called. Both of the type expressions may
contain references to such variables. If there is already a value
assigned to such a referenced variable, it must be replaced by the
associated value, otherwise this method may expand the
context
table by deriving a value for such unassigned but
referenced variables with which the compatibility of the two classes can
be asserted. In case of returning true, the caller must check the size of
the context
table to see if new conditions are added in
order for the compatibility to be asserted. If the context
table is null, the method does a global and unconditional check.matches
in class TypeExpression
subtype
- the type expression with which the compatibility is going to
be checkedcontext
- context of the matchmaking. May be null.ttl
- time-to-live parameterlog
- list that can be filled with log entries. May be null.org.universAAL.middleware.util.Constants#VAR_ACCESSING_BUS_MEMBER
,
org.universAAL.middleware.util.Constants#VAR_ACCESSING_HUMAN_USER
,
org.universAAL.middleware.util.Constants#VAR_CURRENT_DATETIME
,
org.universAAL.middleware.util.Constants#VAR_SERVICE_TO_SELECT
public boolean isDisjointWith(TypeExpression other, HashMap context, int ttl, List<MatchLogEntry> log)
TypeExpression
context
table maps the URIs of certain variables
onto values currently assigned to them. The variables are either standard
variables managed by the universAAL middleware or parameters of a
specific service in whose context this method is called. Both of the type
expressions may contain references to such variables. If there is already
a value assigned to such a referenced variable, it must be replaced by
the associated value, otherwise this method may expand the
context
table by deriving a value for such unassigned but
referenced variables with which the disjointness of the two classes can
be asserted. In case of returning true, the caller must check the size of
the context
table to see if new conditions are added in
order for the disjointness to be asserted. If the context
table is null, the method does a global and unconditional check.isDisjointWith
in class TypeExpression
other
- the type expression with which the disjointness is going to be
checkedcontext
- context of the matchmaking. May be null.ttl
- time-to-live parameterlog
- list that can be filled with log entries. May be null.org.universAAL.middleware.util.Constants#VAR_ACCESSING_BUS_MEMBER
,
org.universAAL.middleware.util.Constants#VAR_ACCESSING_HUMAN_USER
,
org.universAAL.middleware.util.Constants#VAR_CURRENT_DATETIME
,
org.universAAL.middleware.util.Constants#VAR_SERVICE_TO_SELECT
public boolean isWellFormed()
TypeExpression
isWellFormed
in class TypeExpression
Resource.isWellFormed()
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 Iterator<TypeExpression> types()
Copyright © 2018 universAAL Consortium. All rights reserved.