[MISC] [MOBY-l] Class ontology question

Mark Wilkinson markw at illuminae.com
Mon Sep 6 14:51:39 UTC 2004


Hi Rebecca, 

comments below...

> I read your DesignAnObject page and found out that my Virtual Sequence 
> object is not correct in that terms.
> 
> It looks like this:
> 
> <GenericSequence ns='' id=''>
> <Integer ns='' id='' articleName='Length'> </Integer>
> <String ns='' id='' articeleName='Description'>blabla</String>
> <String ns='' id='' articeleName='SequenceString'>atgtaag...</String>
> </Generic Sequence>

Okay... I think you have made a few errors here, but they might just be
typo's.  The object above is nether a VirtualSequence, nor a
GenericSequence, so your outer tag is incorrect.  I assume that this is
your "CommentedSequence" object that you describe below?


> If I get it right GenericSequence HASA String. this means that it 
> contains exactly ONE instance of String. But my object contains TWO 
> instances of String.

correct

> If the relationship of GenericSequence would be HAS instead of HASA it 
> would be 'legal' I suppose.


not really...


> What would be the correct way to Design the object? Should I have 
> another object
> CommentedSequence ISA GenericSequence HASA String
> OR
> CommentedSequence ISA Virtural Sequence HAS String
> ???

The first one is correct.

You should have:

CommentedSequence ISA GenericSequence HASA String(Description) 

This is the purpose of the articleName attribute.  Effectively, it
functions as an RDF predicate, if you were to imagine it that way.


> What's the purpose of having two similar relationships (HASA and HAS)?

So that objects can have an indefinite number of contained objects.  For
example, if you were trying to model a Genbank feature table, you
wouldn't know a priori how many exons the gene had, so those would be
modelled with a "HAS" relationship.

M


-- 
Mark Wilkinson (mwilkinson at mrl.ubc.ca)
University of British Columbia iCAPTURE Centre




More information about the moby-l mailing list