OWL: modelling XOR relations

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

OWL: modelling XOR relations

tg1w
Hello

I'm working on defining an OWL ontology that represents the Domain Model of the Internet of Things Reference Architecture (snapshot attached).

One aspect that I'm not sure about is how to represent the fact that a Virtual Entity can either be a subclass of "Active Digital Artefact" or "Passive Digital Artefact". The UML diagram uses a XOR to express this, but we don't have XOR in OWL :).

Any hints are welcomed. I'm still a beginner.

Thanks,
Teodor

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

IoT-A Domain Model.png (75K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: OWL: modelling XOR relations

tg1w
would making it Subclass of "(ActiveDigitalArtifact and not PassiveDigitalArtifact) or (PassiveDigitalArtifact and not ActiveDigitalArtifact)" work?

On 2 August 2018 at 16:37, Teodor Ghetiu <[hidden email]> wrote:
Hello

I'm working on defining an OWL ontology that represents the Domain Model of the Internet of Things Reference Architecture (snapshot attached).

One aspect that I'm not sure about is how to represent the fact that a Virtual Entity can either be a subclass of "Active Digital Artefact" or "Passive Digital Artefact". The UML diagram uses a XOR to express this, but we don't have XOR in OWL :).

Any hints are welcomed. I'm still a beginner.

Thanks,
Teodor


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: OWL: modelling XOR relations

Olivier Dameron
In reply to this post by tg1w
Hello Teodor,

On 08/02/2018 03:37 PM, Teodor Ghetiu wrote:
>
> I'm working on defining an OWL ontology that represents the Domain Model
> of the Internet of Things Reference Architecture (snapshot attached).
>
> One aspect that I'm not sure about is how to represent the fact that a
> Virtual Entity can either be a subclass of "Active Digital Artefact" or
> "Passive Digital Artefact". The UML diagram uses a XOR to express this,
> but we don't have XOR in OWL :).

In this case, I would simply make ActiveDigitalArtefact and
PassiveDigitalArtefact disjoint. It is rather a radical choice, as it
prevents any instance of one of the classes to be also an instance of
the other, but considering the active/passive, this seems to be the
simplest solution. If you want to allow possible multiple inheritance
but enforce the XOR at the VirtualEntity level, your solution from your
other email (VirtualEntity rdfs:subclassOf (ActiveDigitalArtifact and
not PassiveDigitalArtifact) or (PassiveDigitalArtifact and not
ActiveDigitalArtifact)) is the way to go.

In addition, defining DigitalArtefact as equivalent to
ActiveDigitalArtefact union PassiveDigitalArtefact
would probably be a good idea too

olivier
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: OWL: modelling XOR relations

Igor Toujilov-2
Hi All.
Teodor, the UML class inheritance relations have object-oriented semantics. The OWL subclass relations have set-theoretic semantics. So, they are quite different: some UML notations have no use in OWL, and some OWL features cannot be represented in UML.

From another point of view, normally the purpose and a big advantage of transforming an UML model to an OWL model is using automatic decidable logical reasoning, which is available in OWL and absent in UML. However when doing so, you should not be over-exited: do not try converting every single UML model feature to the OWL model because first, it might be not possible (see the previous paragraph), and second, it might be not needed for your reasoning, which depends on your use cases. So, I would recommend creating a very minimalistic OWL model first, and seeing how it works in practice. If you reasoning scenarios require more features, then bring them gradually, one at a time, to the OWL model.

Olivier,
in this context, making ActiveDigitalArtefact and PassiveDigitalArtefact disjoint might or might not make sense, depending on practical use case reasoning. And I would say the same about defining DigitalArtefact as equivalent to (ActiveDigitalArtefact union PassiveDigitalArtefact). I would suggest using these definitions only when they are really needed in practice because of fundamental differences in UML and OWL philosophies. In UML, an empty model means nothing. In OWL, an empty ontology models the entire universe, and bringing more axioms to the ontology restricts the model.
So, if ActiveDigitalArtefact and PassiveDigitalArtefact are disjoint, then ((ActiveDigitalArtifact and not PassiveDigitalArtifact) or (PassiveDigitalArtifact and not ActiveDigitalArtifact)) = (ActiveDigitalArtifact or PassiveDigitalArtifact) = DigitalArtifact.
That is why I would suggest just to define: VirtualEntity SubClassOf DigitalArtifact.

Cheers,
Igor


> Sent: Thursday, August 02, 2018 at 3:04 PM
> From: "Olivier Dameron" <[hidden email]>
> To: [hidden email]
> Subject: Re: [protege-user] OWL: modelling XOR relations
>
> Hello Teodor,
>
> On 08/02/2018 03:37 PM, Teodor Ghetiu wrote:
> >
> > I'm working on defining an OWL ontology that represents the Domain Model
> > of the Internet of Things Reference Architecture (snapshot attached).
> >
> > One aspect that I'm not sure about is how to represent the fact that a
> > Virtual Entity can either be a subclass of "Active Digital Artefact" or
> > "Passive Digital Artefact". The UML diagram uses a XOR to express this,
> > but we don't have XOR in OWL :).
>
> In this case, I would simply make ActiveDigitalArtefact and
> PassiveDigitalArtefact disjoint. It is rather a radical choice, as it
> prevents any instance of one of the classes to be also an instance of
> the other, but considering the active/passive, this seems to be the
> simplest solution. If you want to allow possible multiple inheritance
> but enforce the XOR at the VirtualEntity level, your solution from your
> other email (VirtualEntity rdfs:subclassOf (ActiveDigitalArtifact and
> not PassiveDigitalArtifact) or (PassiveDigitalArtifact and not
> ActiveDigitalArtifact)) is the way to go.
>
> In addition, defining DigitalArtefact as equivalent to
> ActiveDigitalArtefact union PassiveDigitalArtefact
> would probably be a good idea too
>
> olivier
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: OWL: modelling XOR relations

tg1w
Hi All,

Igor, thank you for your input. I realized yesterday that I was not better off with (ActiveDigitalArtifact and not PassiveDigitalArtifact) or (PassiveDigitalArtifact and not ActiveDigitalArtifact), as indeed it was the same as ActiveDigitalArtifact or PassiveDigitalArtifact.

From the description of the IoT Domain Model, ActiveDigitalArtifact needs to be disjoint with PassiveDigitalArtifact (as suggested by Olivier also). DigitalArtefact should be equivalent to the union between the Active and PassiveDigitalArtefact (again because the IoT Domain Model stipulates that a DigitalArtefact can only be passive or active). And yes, I need to put all of the IoT Domain Model elements into the ontology as that is the starting point for our own Domain Model and ontology (that we need to define for a separate project).

Probably the main lesson for me is that inheritance relations in UML may not necessarily be treated equally in OWL.

Thanks,
Teodor

On 3 August 2018 at 01:14, Igor Toujilov <[hidden email]> wrote:
Hi All.
Teodor, the UML class inheritance relations have object-oriented semantics. The OWL subclass relations have set-theoretic semantics. So, they are quite different: some UML notations have no use in OWL, and some OWL features cannot be represented in UML.

From another point of view, normally the purpose and a big advantage of transforming an UML model to an OWL model is using automatic decidable logical reasoning, which is available in OWL and absent in UML. However when doing so, you should not be over-exited: do not try converting every single UML model feature to the OWL model because first, it might be not possible (see the previous paragraph), and second, it might be not needed for your reasoning, which depends on your use cases. So, I would recommend creating a very minimalistic OWL model first, and seeing how it works in practice. If you reasoning scenarios require more features, then bring them gradually, one at a time, to the OWL model.

Olivier,
in this context, making ActiveDigitalArtefact and PassiveDigitalArtefact disjoint might or might not make sense, depending on practical use case reasoning. And I would say the same about defining DigitalArtefact as equivalent to (ActiveDigitalArtefact union PassiveDigitalArtefact). I would suggest using these definitions only when they are really needed in practice because of fundamental differences in UML and OWL philosophies. In UML, an empty model means nothing. In OWL, an empty ontology models the entire universe, and bringing more axioms to the ontology restricts the model.
So, if ActiveDigitalArtefact and PassiveDigitalArtefact are disjoint, then ((ActiveDigitalArtifact and not PassiveDigitalArtifact) or (PassiveDigitalArtifact and not ActiveDigitalArtifact)) = (ActiveDigitalArtifact or PassiveDigitalArtifact) = DigitalArtifact.
That is why I would suggest just to define: VirtualEntity SubClassOf DigitalArtifact.

Cheers,
Igor


> Sent: Thursday, August 02, 2018 at 3:04 PM
> From: "Olivier Dameron" <[hidden email]>
> To: [hidden email]
> Subject: Re: [protege-user] OWL: modelling XOR relations
>
> Hello Teodor,
>
> On 08/02/2018 03:37 PM, Teodor Ghetiu wrote:
> >
> > I'm working on defining an OWL ontology that represents the Domain Model
> > of the Internet of Things Reference Architecture (snapshot attached).
> >
> > One aspect that I'm not sure about is how to represent the fact that a
> > Virtual Entity can either be a subclass of "Active Digital Artefact" or
> > "Passive Digital Artefact". The UML diagram uses a XOR to express this,
> > but we don't have XOR in OWL :).
>
> In this case, I would simply make ActiveDigitalArtefact and
> PassiveDigitalArtefact disjoint. It is rather a radical choice, as it
> prevents any instance of one of the classes to be also an instance of
> the other, but considering the active/passive, this seems to be the
> simplest solution. If you want to allow possible multiple inheritance
> but enforce the XOR at the VirtualEntity level, your solution from your
> other email (VirtualEntity rdfs:subclassOf (ActiveDigitalArtifact and
> not PassiveDigitalArtifact) or (PassiveDigitalArtifact and not
> ActiveDigitalArtifact)) is the way to go.
>
> In addition, defining DigitalArtefact as equivalent to
> ActiveDigitalArtefact union PassiveDigitalArtefact
> would probably be a good idea too
>
> olivier
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: OWL: modelling XOR relations

Michael DeBellis-2
In reply to this post by Igor Toujilov-2
Just to add to what Igor said, here is a good white paper on the differences between OWL and traditional OOP: https://www.w3.org/TR/sw-oosd-primer/

Michael

On Thu, Aug 2, 2018 at 3:14 PM, Igor Toujilov <[hidden email]> wrote:
Hi All.
Teodor, the UML class inheritance relations have object-oriented semantics. The OWL subclass relations have set-theoretic semantics. So, they are quite different: some UML notations have no use in OWL, and some OWL features cannot be represented in UML.

From another point of view, normally the purpose and a big advantage of transforming an UML model to an OWL model is using automatic decidable logical reasoning, which is available in OWL and absent in UML. However when doing so, you should not be over-exited: do not try converting every single UML model feature to the OWL model because first, it might be not possible (see the previous paragraph), and second, it might be not needed for your reasoning, which depends on your use cases. So, I would recommend creating a very minimalistic OWL model first, and seeing how it works in practice. If you reasoning scenarios require more features, then bring them gradually, one at a time, to the OWL model.

Olivier,
in this context, making ActiveDigitalArtefact and PassiveDigitalArtefact disjoint might or might not make sense, depending on practical use case reasoning. And I would say the same about defining DigitalArtefact as equivalent to (ActiveDigitalArtefact union PassiveDigitalArtefact). I would suggest using these definitions only when they are really needed in practice because of fundamental differences in UML and OWL philosophies. In UML, an empty model means nothing. In OWL, an empty ontology models the entire universe, and bringing more axioms to the ontology restricts the model.
So, if ActiveDigitalArtefact and PassiveDigitalArtefact are disjoint, then ((ActiveDigitalArtifact and not PassiveDigitalArtifact) or (PassiveDigitalArtifact and not ActiveDigitalArtifact)) = (ActiveDigitalArtifact or PassiveDigitalArtifact) = DigitalArtifact.
That is why I would suggest just to define: VirtualEntity SubClassOf DigitalArtifact.

Cheers,
Igor


> Sent: Thursday, August 02, 2018 at 3:04 PM
> From: "Olivier Dameron" <[hidden email]>
> To: [hidden email]
> Subject: Re: [protege-user] OWL: modelling XOR relations
>
> Hello Teodor,
>
> On 08/02/2018 03:37 PM, Teodor Ghetiu wrote:
> >
> > I'm working on defining an OWL ontology that represents the Domain Model
> > of the Internet of Things Reference Architecture (snapshot attached).
> >
> > One aspect that I'm not sure about is how to represent the fact that a
> > Virtual Entity can either be a subclass of "Active Digital Artefact" or
> > "Passive Digital Artefact". The UML diagram uses a XOR to express this,
> > but we don't have XOR in OWL :).
>
> In this case, I would simply make ActiveDigitalArtefact and
> PassiveDigitalArtefact disjoint. It is rather a radical choice, as it
> prevents any instance of one of the classes to be also an instance of
> the other, but considering the active/passive, this seems to be the
> simplest solution. If you want to allow possible multiple inheritance
> but enforce the XOR at the VirtualEntity level, your solution from your
> other email (VirtualEntity rdfs:subclassOf (ActiveDigitalArtifact and
> not PassiveDigitalArtifact) or (PassiveDigitalArtifact and not
> ActiveDigitalArtifact)) is the way to go.
>
> In addition, defining DigitalArtefact as equivalent to
> ActiveDigitalArtefact union PassiveDigitalArtefact
> would probably be a good idea too
>
> olivier
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: OWL: modelling XOR relations

OntoBLW
Hi,
You can simply express XOR as DisjointUnion in OWL. Please, refer to the W3C
OWL 2 specification.
Regards.



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user