|
|
Re: Bio::Ontology overhaul: msg#00340
|
Subject: |
Re: Bio::Ontology overhaul |
I see now that I'd misread your email. It is OntologyI that will get a
unique 'name' and an arbitrary 'identifier', not TermI.
Regardless of whether <whatever>IdentifiableI is ever adopted, it seems
that some consistency is worth striving for. It's really not a big deal
if it's hard to change, but since you are soliciting comments, my
comment is to wonder why we would have TermI's identifier be unique and
OntologyI's identifier be arbitrary, when OntologyI's name is unique.
:Paul
Hilmar Lapp wrote:
First off, I'm not in particular favor of creating two interface name
monsters that nobody else is used to from anywhere else. My viewpoint
is that you can solve the problem by having different methods
reflecting identifiers which are valid locally and those which are
also valid globally. We had a discussion about that 5 minutes before
we left off in Singapore. Lincoln's proposal hasn't been discussed on
the list yet, so it may or may not finally happen.
Second, we made a decision a while ago to separate interfaces from one
another wherever sensibly possible. In this case, OntologyI will not
inherit off of <whichever>IdentifiableI, but an implementation may do
so, and can then provide the alias if appropriate. (Similarly, SeqI
doesn't inherit from IdentifiableI, but Seq does implement both.)
So, bottom line, if an ontology wants to be <whichever>IdentifiableI,
my take is it will inherit from that interface and appropriately alias.
As for the TermI interface, it doesn't inherit from IdentifiableI
either, but in fact I forgot to mention that I changed the
Bio::Ontology::Term implementation to implement both
Bio::IdentifiableI and Bio::DescribableI. TermI::identifier() is not
meant to be an arbitrary identifier (as opposed to
OntologyI::identifier); it will usually be assigned by the authority
of the ontology.
-hilmar
On Wednesday, February 26, 2003, at 05:16 PM, Paul Edlefsen wrote:
My immediate concern is compatability with Lincoln's proposed
LocallyIdentifiableI and GloballyIdentifiableI interfaces (already
checked in on the freaky dev branch). If there is going to be a
unique identifier it should, for compatability with
LocallyIdentifiableI, be called (or aliased) 'unique_id'. You are
proposing that, in TermI, 'name' be unique and 'identifier' be
arbitrary. Even if you were to add 'unique_id' as an alias to
'name', the homonymity of 'identifier' and 'unique_id' would be
confusing.
:Paul
--
Paul T. Edlefsen Software Engineer
<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>
The Institute for Systems Biology
1441 North 34th Street
Seattle, Washington 98103-8904
<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>
Email: paul@xxxxxxxxxxxxxxxxxx
Phone: (206)732-1336
Fax: (206)732-1260
|
Try Searching:
servers, voip, java, networking, microsoft ...
|
|
|
| |