I use a OntModel;
- 2 classes X and Y.
- one property hasA that links X instances to Y instances.
I have individuals:
- 1 instance instX (of type X)
- 1 instY (of type Y).
- 1 hasA to link them together: instX -> hasA -> instY.
Now I need to use reification.
As I understand that, OWL does not manage reification natively.
But Jena does.
True?
My new model is something like :
X -> hasA -> Y
|
---> comments ---> xsd:String
|
--- from -----> Person
How can I translate that into OWL1.0 modeling?
Does it require to change the way I modeled X, Y and hasA ?
If my model with reification can be described in OWL1.0, I presume
Jena will load and understand it natively.
Will Pellet understand it too (so the classifier can operate
on the reifications)?
Then, how do I hand write these reifications in my OWL data instances:
instX -> hasA -> instY
|
-----> details -----> "it is not my business"
| |
| ------> from ----> people://John
|
|
-----> details -----> intranet://meNeither.doc
|
------> from ----> boss://CEO
instX -> hasA -> instY
|
-----> details -----> "i found another relationship with instY"
|
------> from ----> people://Mike
PS: if OWL does not handle reification natively,
and if this point is to be adressed in OWL 1.1,
does it sound stupid to use such a syntax (ie, use rdf:ID to
uniquely identify the relationship from an instance to another
via a property):
<X rdf:ID="instX">
<hasA rdf:resource="instY" rdf:ID="instX-hasA_1"/>
<hasA rdf:resource="instY" rdf:ID="instX-hasA_2"/>
</X>
<rdf:Description rdf:about="instX-hasA-1">
<details rdf:ID="instX-hasA_1-details_1">it is not my business</details>
</rdf:Descrption>
<rdf:Description rdf:about="instX-hasA_1-details_1">
<from rdf:resource="people://John"></from>
</rdf:Descrption>
<rdf:Description rdf:about="instX-hasA-1">
<details rdf:ID="instX-hasA_1-details_2"
rdf:resource="intranet://meNeither.doc"></details>
</rdf:Descrption>
<rdf:Description rdf:about="instX-hasA_1-details_2">
<from rdf:resource="boss://CEO"></from>
</rdf:Descrption>
<rdf:Description rdf:about="instX-hasA-2">
<details rdf:ID="instX-hasA_2-details_1">i found another relationship
with instY</details>
</rdf:Descrption>
<rdf:Description rdf:about="instX-hasA_2-details_1">
<from rdf:resource="people://Mike"></details>
</rdf:Descrption>
Any help is very welcome.
(Thx for reading this loooong mail :)