[Attempto] generating OWL ontology

Kaarel Kaljurand kaljurand at gmail.com
Mon Mar 30 17:02:03 CEST 2009


Hi,

On Mon, Mar 30, 2009 at 4:22 PM, Alireza <alireza.khoshkbari at gmail.com> wrote:
> I want to generate the following ontology(as shows on the following picture)
> via ACE.
> http://itman01.persiangig.ir/images/Clip_4.jpg

I would write it like this:

Process_1 is a process.
Software_1 is a technology.
Every technology is a resource.
Every process has a resource.
Process_1 has Software_1.

This means that "Process_1" and "Software_1" are individuals,
and "process", "technology", "resource" are classes,
and "have" is an object property.

This text would create no anonymous individuals (which the nodeID is for
in RDF/XML).

> I’ve used the following ACE sentences:

I'll comment a bit on your solution.

>>>
> There is a n:process.

This sentence would create an anonymous individual
of class "process", i.e. you are asserting that there
is a process whose name you don't know.
Although this statement is harmless, given that you
are also naming some processes,
you probably don't mean that.

> p:Process_1 is a kind of a n:process.

Using "kind of" like this would create an object property "kind".
You probably mean simple class assertion:

Process_1 is a process.

A rule of thumb: don't use the construct "kind of" when you
are using ACE->OWL.

> a n:technology is a n:resource.

You probably mean:

Every technology is a resource.

ACE interprets "a" as an existential quantifier, i.e.
your formulation has the meaning:

There is some unnamed resource X.
There is some unnamed technology Y.
These two individuals (X and Y) are identical.

> a n:Process has a n:resource.

Again: use "every":

Every process has a resource.

A rule of thumb is that most
sentences that you want to apply the ACE->OWL mapping to
start with the word "every". The only exception is
class assertions ("John is a man.") and property
assertions ("John likes Mary.", "John's age is 33.").
In these cases the sentence starts with a proper name.

(And, you can also use if-then sentences, in this case the sentence
would start with "if" :).)

> p:Process_1 has p:software_1.

This is a property assertion.

Process_1 has Software_1.

> However, the generated OWL is not what I expected.
> moreover, what are the usage of nodeIDs in produced owl?
> Any suggestion would be appreciated.

Node IDs point to the creation of anonymous individuals.
These are better avoided anyway, unless you really need
them. For example, if you really don't know that name
of some man, but you know that he has some relations
then you can say something like:

There is a man X. Mary likes the man X. Ann likes the man X.

Hope this helped. You could also check out:

http://attempto.ifi.uzh.ch/site/docs/writing_owl_in_ace.html

--
kaarel


More information about the attempto mailing list