Search Mailing List Archives
[protege-discussion] From UML to Ontologies?
Thomas Russ
tar at ISI.EDU
Tue Jan 29 10:20:13 PST 2008
On Jan 29, 2008, at 4:48 AM, Herwig Wens wrote:
> Dear Community,
>
> Currently we are kicking off an enterprise architecture program in
> our company.
>
> We had a look at Protege and ontologies in general to see we could
> use this as a way of storing our domain model.
> Meanwhile we already had defined our domain model in UML.
>
> Being not so familiar with ontologies -- I have a numbe of questions:
> Which ontology flavor is the best option for describing a domain
> model?
>
This is a tough question to give a one-line answer to.
A lot depends on what type of domain model you want to describe, and
what sorts of reasoning you wish to do with that model. You would
need to use a language and set of tools that allow you to express your
domain model correctly and perform any necessary reasoning.
Frames are a bit closer to an object-oriented model. OWL is a strict
logical model, but comes with stronger semantic guarantees and well-
founded reasoners. Frames support default values, whereas OWL is
strictly monotonic. There are also some additional considerations, so
if you had some specific issues or questions, it would be easier to
provide guidance.
> I have tried the default flavor that come with the 4alpha versions,
> but I found it very difficult to translate the UML model to this
> ontology flavor.
> By looking at the tips and tricks, It sounds that Frames is a better
> flavor? Is this true?
> Has anyone has some tips and tricks in deriving an ontology from UML?
>
> E.g., a part where I'm struggling with is to model a composite in OWL:
>
> <C9565875.gif>
>
Well, one thing to be careful of is overuse of the subtyping, just
because that is the most prominent relation shown in UML as well as in
Protege.
From your diagram, it appears that you have the composite
PrincipleSet as a subtype of Principle. This may be justified, but my
initial reaction is that a Set of Principles is not, in itself a
Principle. Could you use a PrincipleSet anywhere you use a
Principle? Can PrincipleSets contain other PrincipleSets?
In any case, the OWL model would look something like this pseudo-syntax.
owl:Class Principle
=> all memberOf PrincipleSet
atmost 1 memberOf
owl:Class PrincipleSpecific
=> subclassOf Principle
exactly 1 rationale
atleast 1 implication
atleast 1 assurance
owl:Class PrincipleSet
=> atleast 1 hasMember
all hasMember Principle
subclassOf Principle ??????
owl:ObjectProperty hasMember
owl:ObjectProperty memberOf
inverseOf hasMember
If it turns out that a PrincipleSet is not, in fact a Principle, but
merely a collection of Principles, then you may be able to simplify
your model by coalescing the Principle and PrincipleSpecific classes
and having PrincipleSet just be a Set of Principles but with no
subclass relationship. You might also find that you want to use a
more specific membership property, although you can use a general
membership.
More information about the protege-discussion
mailing list