W3C home > Mailing lists > Public > semantic-web@w3.org > November 2010

Re: How to find a proper ontology for my classes and properties?

From: Enrico Motta <e.motta@open.ac.uk>
Date: Mon, 1 Nov 2010 00:19:25 +0100
Message-Id: <p06240858c8f3a514289e@[192.168.0.2]>
To: Lee Feigenbaum <lee@thefigtrees.net>
Cc: Juriy Katkov <katkov.juriy@gmail.com>, Semantic Web <semantic-web@w3.org>
At 23:22 -0400 30/10/10, Lee Feigenbaum wrote:
>On 10/30/2010 10:40 AM, Juriy Katkov wrote:
>>Hello everyone!
>>I have 2 questions about rdf data.
>>
>>1. Suppose I started describing something in triples and I want to use a
>>property 'hasOwner'. I understand that it's much better to use this
>>property from one of the existing ontologies rather than use property
>>from my own namespace.
>>The question is: what is the easyest and the most right way to search
>>for this property? I know, there is Swoogle and sometimes it helps me
>>with that. I wonder if there is something better that fulltext search.
>
>There've been some great suggestions on this thread, but allow me to 
>offer the viewpoint that in many cases trying to find a predicate to 
>reuse is not worth the effort.
>
>The main goal of reuse is to allow your data to be consumed by 
>software tools that already know how to interpret an existing 
>vocabulary. If that's the case for your domain then great, it makes 
>a lot of sense to reuse the predicate. If that's not the case, or if 
>you don't know if it's the case and you find an arbitrary predicate 
>that seems to convey the meaning you're looking for, then I don't 
>think there's much point in reusing vocabulary. I'd rather save the 
>time searching, mint my own property, and get on with whatever I'm 
>working on.
>
>Down the road if I see (or am told of) an application consuming 
>similar SW data using a different predicate, I can always update my 
>data then and still reap the benefits of reuse. Updating my data 
>could be as simple as adding rdfs:subPropertyOf or 
>owl:equivalentProperty relations, or--if in a reasonerless 
>world--using a straightforward SPARQL Update statement to augment 
>your data.
>
>Reuse is great but, like code optimizations, it's often not 
>necessary upfront. It can be added later on once the real value of 
>the reuse is understood. And if you never see the value of reuse, 
>then your data and/or applications can flourish with the predicate 
>that you minted for yourself, and you saved yourself the time 
>otherwise spent searching in the first place.


Uhm...this is certainly true for the simple scenarios, but certainly 
not in general.  Of course, if I just have data about people and dogs 
and I simply want to link them with a property 'hasOwner', it is 
unlikely I am going to lose much by defining my own property and then 
worrying later about interoperability with other repositories. But if 
your model is a bit more complex and you have to handle any of the 
hundreds of modelling issues which people have been researching for 
the past 30 years (e.g., agency, roles, meta-properties, time, space, 
part-of, etc. etc..), then it may be a good idea to dig out existing 
modelling solutions rather than trying to come up with your own 
solution, which will take far more time and will likely be 
sub-optimal.

You can do this by browsing repositories such as 
http://ontologydesignpatterns.org/ or, as folks have already pointed 
out,  by using any of the various ontology search engines, such as 
swoogle, falcon, sindice, watson, etc.. And because at least some of 
these are integrated with ontology editors (e.g., there is a 
watson-based plugin for the neon toolkit - see 
http://neon-toolkit.org/wiki/Watson_for_Knowledge_Reuse), you can 
very quickly search for relevant properties (or classes or 
individuals) and then quickly add any useful results from your search 
to the ontology you are developing.

Enrico



>Lee
>
>>
>>2. Suppose I face the dataset I never use before. What do you usually do
>>first to get a first impression about the dataset? At the moment I first
>>make some SPARQL queries to this dataset, such as:
>>select COUNT(?x) WHERE
>>{
>>?x a ?z .
>>}
>>
>>than I use Marbles or Sig.ma to surf randomly over this data and finally
>>I come up with a opinion where I need data from the dataset or not.
>>Again, what do you usually do? Is there a tools or useful queries that
>>can help Semantic Web user in browsing data and getting useful info
>>about datasets?
>>
>>Thank you in advance!
>>
>>Yury Katkov
>
>
>--
>The Open University is incorporated by Royal Charter (RC 000391), an 
>exempt charity in England & Wales and a charity registered in 
>Scotland (SC 038302).


-- 

The Open University is incorporated by Royal Charter (RC 000391), an 
exempt charity in England & Wales and a charity registered in 
Scotland (SC 038302).
Received on Monday, 1 November 2010 00:20:04 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:41:24 UTC