Let us suppose 3 kinds of entities:
- Algorithm: whose instances are specific algorithms; -
- Task: whose instances are specific tasks, for example “recognizing a specific texture in images”.
- Parametrization: define a set of parameters and values for these parameters.
Let us consider the following cardinality constraints:
- An algorithm can be used in several tasks.
- A task can use several algorithms
- An algorithm can have several parametrization.
This is not difficult to model in OWL. However, I have also the following constraint: -An algorithm, in a given task, have one and only one parametrization. That is, a given algorithm should be used in a task with a specific parametrization.
For clarifying the constraint, let us suppose the following. Let's assume A as Algorithm, T as Task and P as Parametrization. So, we have:
∀a,y A(a) ∧ T(t) ∧ usedIn(a,t) ⇒ ∃!p P(p) ∧ configures(p,a,t)
That is, for all algorithm a and for all task t, if a is used in t, them there is one and only one parametrization p which configures the algorithm a for the task t.
However, I don’t know how to represent this constraint in OWL. Is it possible to model this in OWL? How can we approach this problem?
I would like also to say that the axiom is a little weird, but this is a constraint provided by the customer. Also, I think that it would be interesting to discuss the case, just for discussing the limitations of OWL.