Playing with sets in OWL...

Hi all,

sorry for the possible triviality of my questions, or the messed-up mind
I am possibly showing...

I am trying to model the grouping of individuals into sets. In my
application domain, the gene expression, people put together, let's say
genes, associating a meaning to the sets.

For instance:

Set1 := { gene1, gene2, gene3 }

is the set of genes that are expressed in experiment0

(genei and exp0 are OWL individuals)

I am understanding that this may be formalized in OWL by:

- declaring Set1 as owl:subClassOf Gene
- using oneOf to declare the membership of g1,2,3
(or simpler: (g1 type Set1), (g2 type Set1), etc. )
- using hasValue with expressed and exp0


Now, I am trying to build an application which is like a semantic wiki.

Hence users have a quite direct contact with the underline ontology, and
they can write, with a simplified syntax, statements about a subject
they are describing (subject-centric approach).

Commiting to the very formal formalism of OWL looks a bit too much...
formal... ;-) and hard to be handled with a semantic wiki-like application.

Another problem is that the set could have properties on its own, for

Set1 hasAuthor Jhon

meaning that John is defining it. But hasAuthor is typically used for
individuals, and I wouldn't like to fall in OWL-Full, by making an OWL
reasoner to interpret Set1 both as an individual and a class.

Aren't there more informal (although less precise) methods to model
sets, or list of individuals?

An approach could be modeling some sort of set-theory over individuals:

set1 isA GeneSet
set1 hasMember g1, g2, g3

set1 derivesFromUnionOf set2, set3


But I am not sure it would be a good approach, or if someone else
already tried that.

Any suggestion?

Thanks in advance for a reply.



Marco Brandizi <>

Received on Friday, 8 September 2006 15:59:11 UTC