- From: John Graybeal <graybeal@mbari.org>
- Date: Fri, 13 Mar 2009 11:15:16 -0700
- To: Pat Hayes <phayes@ihmc.us>
- Cc: Semantic Web <semantic-web@w3.org>
Oh, this is excellent. Thanks to all who have responded to date. To sum up: I was a little surprised that no other search engines, or search methods, were described. Pat identified my misunderstanding about imports and usage when he says: one does not have to import an ontology to use its contained concepts. Case (1) -- the ontology has more concepts than I needed -- was the main issue, and so I think I have 2 reasonably palatable choices to satisfy my use case. (A) Make a list of URIs of terms that I want to re-use -- say, put it in my own ontology of "Terms_To_Use" -- then define any new terms that I need, as part of that same list/ontology. This is very direct reuse. If someone wants to perform reasoning using these terms, they go to the ontology(ies) containing the term to do so. (Not sure though if I want to make them _instances_ of my "Terms_To_Use" class; I'll go back to ontology school, Aldo's patterns references and wiki, and the NeON materials/tools, to learn that.) (B) Create an ontology of new concepts, which in many cases are essentially 'front ends' for the terms I want to use (allowing, for example, normalizing the presentation of the labels, or providing extended information), and then relate them to the original URIs using an appropriate SKOS relationship or one of my own. This is what Pat describes under case (3). Fortunately, I have more practice and instinct for creating definitions than I do for creating ontologies. So once I master the technology I can at least fill it with *something*. John On Mar 13, 2009, at 10:06 AM, Pat Hayes wrote: > > On Mar 10, 2009, at 8:39 PM, John Graybeal wrote: > >> I have a question of 'best practice' (uh oh). >> >> When you need an ontology for a purpose (like creating a controlled >> set of terms to describe a domain area, let's say for >> authoritatively populating a drop-down list), there are two stages >> of work: (1) Find what exists. [2] If what exists doesn't fit the >> need, subset or expand it. >> >> For step [1], I go to Watson and Swoogle and Google-('.owl' only), >> enter some appropriate search terms, and try to weed through the >> morass of sources that result, eliminating mail lists and other >> irrelevancies. >> >> What else should I be doing to have a reasonable shot at finding >> the almost perfect, already existing ontology? > > Good question, and I wish I knew an answer. > >> >> [2] Now, inevitably, there are many ontologies that have some piece >> of what I want, and a few that have way more than what I want. > > When you say, way more than you want, what exactly do you mean? You > need to distinguish: > > (1) O contains a concept that seems like one I want to use, but also > has many others that I am not interested in > (2) O contains a concept that seems like one I want to use, but says > too much about it > > Case (2) , I suggest, is meaningless. If O says too much about your > concept, to the point where you are unable to use the URI it > defines, then the concept it is describing is not, in fact, the one > you want. Case (1) on the other hand should pose no problem: just re- > use the URI from O in your ontology. It is not necessary to import > O, though it seems to do no harm to do so. Bear in mind that > owl:imports has an unfortunate name. It does NOT mean "physically > copy all of O into my ontology". The semantics of imports are merely > that the importation assertion assents to the imported ontology: in > effect, re-asserts it. So that anyone which "believes" your ontology > is required also to "believe" O. But, importantly, this is not an > operational imperative to DO anything in particular, certainly not > to copy any actual text from O. > >> Now what? I can (a) piece together parts of each ontology (means >> importing them all?), (b) use one of the mother-of-all-ontologies >> or vocabularies (cyc, wordnet, others?) as is (means importing the >> whole thing? > > Your question here reflects the misunderstanding described above. > >> ), (c) create a new ontology that associates concepts to those in >> other ontologies (either sameAs or more subtle relationships) > > Your ontology can directly use concepts from those other ontologies. > The concept name is a public URI reference: just use it. (Assuming > of course that it is the concept you want.) No need to use another > URI reference and assert sameAs. > > However, there is also a third case: > > (3) O contains a concept that seems approximately like the one I > want to use, but doesn't describe it in enough detail for me > > Here, the best practice, I suggest, is not to re-use the URI and add > axioms refining its meaning for your purposes, but indeed to define > your own concept and relate it appropriately to the other one. Yours > might be a subclass, or a subproperty, or related in some more > subtle way. But you can (and I suggest, should) still import O to > provide the background of your more refined concepts. > > >> , or (d) some combination of the above. >> >> It looks to me like if I want to provide a specific list of terms, >> that don't overlap, have clear definitions, are unambiguous, and >> fill the domain space > > You have very high ambitions :-) Maybe you should try for less, at > first. Unambiguous definitions are very hard to come by. > >> , I will almost always have to create that entire list on my own >> (then I can map it to other concepts if I want to be a good boy). >> >> Even if I find a very solid ontology that meets these criteria, >> inevitably it has more or fewer concepts than I want to show the >> users of my ontology. > > What you show users is an issue for how you design your user > interface, not really an ontology issue. > >> So presenting just the right variation of the ontology >> requires...another ontology. (I guess extension can be done by >> importing, and adding the few extra terms. But subsetting seems >> awkward, unless one can import and _deprecate_ a few terms?) >> >> Is there something fundamental I've missed in the best practices >> and technologies that people are using for this use case? > > I think you share in a widespread misunderstanding about what > owl:imports means, but otherwise, no. > > Pat Hayes > >> Or are we inevitably in a world full of duplications, possibly with >> some extensions and specializations? >> >> John >> >> -------------- >> John Graybeal <mailto:graybeal@mbari.org> -- 831-775-1956 >> Monterey Bay Aquarium Research Institute >> Marine Metadata Interoperability Project: http://marinemetadata.org >> >> >> >> >> >> > > ------------------------------------------------------------ > IHMC (850)434 8903 or (650)494 > 3973 > 40 South Alcaniz St. (850)202 4416 office > Pensacola (850)202 4440 fax > FL 32502 (850)291 0667 mobile > phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes > > > > > John -------------- John Graybeal <mailto:graybeal@mbari.org> -- 831-775-1956 Monterey Bay Aquarium Research Institute Marine Metadata Interoperability Project: http://marinemetadata.org
Received on Friday, 13 March 2009 18:16:13 UTC