org.universAAL.middleware.owl
Class PropertyRestriction

Package class diagram package PropertyRestriction
java.lang.Object
  extended by org.universAAL.middleware.rdf.Resource
      extended by org.universAAL.middleware.owl.TypeExpression
          extended by org.universAAL.middleware.owl.PropertyRestriction
Direct Known Subclasses:
AllValuesFromRestriction, ExactCardinalityRestriction, HasValueRestriction, MaxCardinalityRestriction, MinCardinalityRestriction, SomeValuesFromRestriction

public abstract class PropertyRestriction
extends TypeExpression

The base class of all simple restrictions. Subclasses will implement the functionality for specific OWL or XSD restrictions. All restrictions are defined by a property and one ore more constraints and describe those individuals that are connected by the defined property to individuals under the condition that the defined constraint is fulfilled.

Author:
Carsten Stockloew

Field Summary
static String MY_URI
           
static String PROP_OWL_ON_PROPERTY
           
protected static HashMap propMap
           
 
Fields inherited from class org.universAAL.middleware.owl.TypeExpression
EXCEPTION_TTL, OWL_CLASS, OWL_NAMESPACE, PROP_RDFS_SUB_CLASS_OF, RDFS_DATATYPE, TYPE_OWL_THING
 
Fields inherited from class org.universAAL.middleware.rdf.Resource
ANON_URI_PREFIX, blockAddingTypes, isXMLLiteral, ns_delim_index, 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, PROP_uAAL_INVOLVED_HUMAN_USER, props, RDF_EMPTY_LIST, RDF_NAMESPACE, RDFS_NAMESPACE, TYPE_RDF_LIST, TYPE_RDFS_CLASS, uAAL_NAMESPACE_PREFIX, uAAL_SERVICE_NAMESPACE, uAAL_VOCABULARY_NAMESPACE, uri
 
Method Summary
 boolean addToList(ArrayList a)
          Add this restriction to the given set of restrictions.
protected  TypeExpression copyTo(PropertyRestriction copy)
          Helper method to copy Restrictions.
 String getClassURI()
          Get the class URI for this PropertyRestriction.
 Object getConstraint()
           
 String[] getNamedSuperclasses()
          Get the set of class URIs for all super classes of the individuals of this class expression.
 String getOnProperty()
           
static PropertyRestriction getRestriction(ArrayList a, String restrictionURI)
          Get a restriction with the given class URI from the given set of restrictions.
 AllValuesFromRestriction getRestrictionOnProperty(String propURI)
          This method is specifically defined for working with property paths, hence whenever it is called it means that the path is already processed until the 'onProperty' of this Restriction and now we are interested in the restrictions defined for the next property in the path (the property given as input parameter).
 Object[] getUpperEnumeration()
          Each type expression can contain multiple objects; this method returns this set of objects.
protected  Object matchesNonRestriction(TypeExpression subtype, HashMap context, int ttl, List<MatchLogEntry> log)
          Check all cases where the subtype is not a subclass of PropertyRestriction().
protected  void setOnProperty(String propURI)
           
 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.
 
Methods inherited from class org.universAAL.middleware.owl.TypeExpression
checkTTL, collectTypesMinimized, copy, getDefaultMatchmakingTTL, hasMember, hasMember, hasMember, isDisjointWith, isDisjointWith, isDisjointWith, isWellFormed, matches, matches, matches, synchronize
 
Methods inherited from class org.universAAL.middleware.rdf.Resource
addMultiLangProp, addType, asList, asList, asRDFList, changeProperty, copy, deepCopy, equals, generateAnonURI, getDefaultLang, getFilename, getLocalName, getMultiLangProp, getNamespace, getOrConstructLabel, getProperty, getPropertyURIs, getPropSerializationType, getResource, getResourceComment, 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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

MY_URI

public static final String MY_URI
See Also:
Constant Field Values

PROP_OWL_ON_PROPERTY

public static final String PROP_OWL_ON_PROPERTY
See Also:
Constant Field Values

propMap

protected static final HashMap propMap
Method Detail

getClassURI

public String getClassURI()
Get the class URI for this PropertyRestriction.

Returns:
The class URI.

getConstraint

public Object getConstraint()

setOnProperty

protected void setOnProperty(String propURI)

getOnProperty

public String getOnProperty()

copyTo

protected TypeExpression copyTo(PropertyRestriction copy)
Helper method to copy Restrictions.

See Also:
TypeExpression.copy()

getNamedSuperclasses

public String[] getNamedSuperclasses()
Description copied from class: TypeExpression
Get the set of class URIs for all super classes of the individuals of this class expression.

Specified by:
getNamedSuperclasses in class TypeExpression
See Also:
TypeExpression.getNamedSuperclasses()

getUpperEnumeration

public Object[] getUpperEnumeration()
Description copied from class: TypeExpression
Each type expression can contain multiple objects; this method returns this set of objects.

Specified by:
getUpperEnumeration in class TypeExpression
See Also:
TypeExpression.getUpperEnumeration()

matchesNonRestriction

protected Object matchesNonRestriction(TypeExpression subtype,
                                       HashMap context,
                                       int ttl,
                                       List<MatchLogEntry> log)
Check all cases where the subtype is not a subclass of PropertyRestriction(). Helper method for #matches(TypeExpression, HashMap) in subclasses.


setProperty

public boolean setProperty(String propURI,
                           Object value)
Description copied from class: Resource
Adds a statement with this resource as the subject, the given 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.

Overrides:
setProperty in class Resource
Returns:
true if the property changed as a result of the call
See Also:
Resource.setProperty(String, Object)

addToList

public boolean addToList(ArrayList a)
Add this restriction to the given set of restrictions.

Parameters:
a - The set of Restrictions.
Returns:
True, if the restriction was added.

getRestriction

public static PropertyRestriction getRestriction(ArrayList a,
                                                 String restrictionURI)
Get a restriction with the given class URI from the given set of restrictions. The class URI of a specific restriction can be retrieved using either Restriction.MY_URI or #getClassURI().

Parameters:
a - The set of Restrictions.
restrictionURI - The URI of the Restriction class to search for.
Returns:
The restriction, or null, if no restriction of the given type could be found in the given set.

getRestrictionOnProperty

public AllValuesFromRestriction getRestrictionOnProperty(String propURI)
This method is specifically defined for working with property paths, hence whenever it is called it means that the path is already processed until the 'onProperty' of this Restriction and now we are interested in the restrictions defined for the next property in the path (the property given as input parameter). Hence, the class set for 'allValuesFrom' must be checked.



Copyright © 2014 universAAL Consortium. All Rights Reserved.