This pattern has been certified.
Related submission, with evaluation history, can be found here
|
Last modified date is: 2013-08-30
|
Graphical representation
Diagram
General description
Name:
|
Object with states
|
Submitted by:
|
RaúlGarcÃa-Castro
|
Also Known As:
|
|
Intent:
|
An object can have different states for which different restrictions apply. The goal of the pattern is to allow modelling the different states of an object and the restrictions on such object for its different states.
|
Domains:
|
General
|
Competency Questions:
|
|
Solution description:
|
The pattern contains three classes, one for representing objects, another for representing object states, and a third one for representing sets of states. Besides, it contains object properties for relating objects and states (which are subproperties of those defined in the Situation pattern [1]) and for relating states and sets of states (reused from the CollectionEntity pattern [2]) and a datatype property for defining the size of a set of states (reused from the Set pattern [3]).
For applying the pattern, first all the possible states of the object must be created as instances of the state class using the Value Partition pattern (http://www.w3.org/TR/swbp-specified-values/). Then, different classes must be defined to represent the object in each of the states and state-specific restrictions must be applied to those classes; the object class must be defined as a disjoint union of these classes.
|
Reusable OWL Building Block:
|
1 (491)
|
Consequences:
|
The pattern requires modelling states as individuals instead of as literals.
|
Scenarios:
|
A sample scenario is the following. A software defect created in an issue tracker must have a creator and be associated to a certain software product. Once it is checked that the defect is reproducible, it must be assigned to some developer and have a certain priority. However, before checking the defect reproducilibty the defect must not have either asignee or priority.
|
Known Uses:
|
http://delicias.dia.fi.upm.es/ontologies/alm-istack.owl
|
Web References:
|
|
Other References:
|
|
Examples (OWL files):
|
|
Extracted From:
|
|
Reengineered From:
|
|
Has Components:
|
|
Specialization Of:
|
|
Related CPs:
|
|
Elements
The Object with states Content OP locally defines the following ontology elements:
hasState (owl:ObjectProperty) Defines the state of an object.
hasState page
property1 (owl:ObjectProperty) This property can be used to describe an object.
This is a sample property, when instantiating the pattern it must be renamed with a meaningful name.
property1 page
property2 (owl:ObjectProperty) This property can be used to describe an object.
This is a sample property, when instantiating the pattern it must be renamed with a meaningful name.
property2 page
property3 (owl:ObjectProperty) This property can be used to describe an object.
This is a sample property, when instantiating the pattern it must be renamed with a meaningful name.
property3 page
Object (owl:Class) Objects are entities that have different states and that in each state different restrictions on their properties apply.
Object page
ObjectStateA (owl:Class) This class represents those objects that are in certain state.
This is a sample class, when instantiating the pattern it must be renamed with a meaningful name.
ObjectStateA page
ObjectStateB (owl:Class) This class represents those objects that are in certain state.
This is a sample class, when instantiating the pattern it must be renamed with a meaningful name.
ObjectStateB page
ObjectStateC (owl:Class) This class represents those objects that are in certain state.
This is a sample class, when instantiating the pattern it must be renamed with a meaningful name.
ObjectStateC page
State (owl:Class) States are the different states that an object can have. States must belong to a single collection of non-duplicate elements (i.e., to a set).
State page
StateA (owl:NamedIndividual) This instance represents a certain state of an object.
This is a sample instance, when instantiating the pattern it must be renamed with a meaningful name.
StateA page
StateB (owl:NamedIndividual) This instance represents a certain state of an object.
This is a sample instance, when instantiating the pattern it must be renamed with a meaningful name.
StateB page
StateC (owl:NamedIndividual) This instance represents a certain state of an object.
This is a sample instance, when instantiating the pattern it must be renamed with a meaningful name.
StateC page
Additional information
Ontology including the content ontology design pattern for modelling objects with states.
Scenarios
Scenarios about Object with states
No scenario is added to this Content OP.
Reviews
Modeling issues
Modeling issues about Object with states
There is no Modeling issue related to this proposal.
Some subquery has no valid condition.
References
Add a reference