W3C home > Mailing lists > Public > semantic-web@w3.org > September 2006

Re: Playing with sets in OWL...

From: Alan Ruttenberg <alanruttenberg@gmail.com>
Date: Fri, 8 Sep 2006 18:07:00 -0400
Message-Id: <86DADBBD-7993-4DFE-86B8-49C9FD21B534@gmail.com>
Cc: semantic-web@w3.org, public-semweb-lifesci@w3.org
To: Marco Brandizi <brandizi@ebi.ac.uk>

Hi Marco,

There are a number of ways to work with sets, but I don't think I'd  
approach this problem from that point of view.
Rather,  I would start by thinking about what my domain instances  
are, what their properties are, and what kinds of questions I want to  
be able to ask based on the representation. I'll sketch this out a  
bit, though the fact that I name an object or property doesn't mean  
that you have to supply it (remember OWL is open-world) - still  
listing these make the ontology makes your intentions clearer  and  
the ontology easier to work with by others.

The heading in each of these is a class, of which you would make one  
or more instances to represent your results.
The indented names are properties on instances of that class.

An expression technology:
    Product: e.g. array name
    Name of spots on the array
    Mappings:  (maps of spot to gene - you might use e.g. affymetrix,  
or you might compute your own)

   SpotMapping: (each value a spot mapping)

Spot mapping:

An expression profile experiment (call yours exp0)
    When done:
    Who did it:
    What technology was used: (an expression technology)
    Sample: (a sample)
    Treatment: ...
    Levels: A bunch of pairs of spot name, intensity

Spot intensity

A  computation of which spots/genes are "expressed" (call yours c1)
    Name of the method : e.g. mas5 above threshold
    Parameter of the method: e.g. the threshold
    Experiment: exp0
    Spot Expressed: spots that were over threshold
    Gene Computed As Expressed: genes that were over threshold

And maybe:

    What was concluded:
    By who:
    Based on: c1

All of what you enter for your experiment are instances (so there are  
no issues of OWL Full)

Now, The gene set you wanted can be expressed as a class:

Let's define an inverse property of   "GeneComputedAsExpressed", call  
it "GeneExpressedAccordingTo"

Class(Set1 partial restriction(GeneExpressedAccordingTo hasValue(c1))

Instances of Set1 will be those genes. You may or may not want to  
actually define this class. However I don't think that you need
to add any properties to it. Everything you would want to say  
probably wants to be said on one of the instances - the experiment,  
the computation, the conclusion, etc.

Let me know if this helps/hurts - glad to discuss this some more



On Sep 8, 2006, at 11:58 AM, Marco Brandizi wrote:

> 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
> (right?)
> 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
> instance:
> 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.
> Cheers.
> -- 
> ====================================================================== 
> =========
> Marco Brandizi <brandizi@ebi.ac.uk>
> http://gca.btbs.unimib.it/brandizi
Received on Friday, 8 September 2006 22:07:32 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:44:58 UTC