- From: Lee Feigenbaum <lee@thefigtrees.net>
- Date: Mon, 01 Nov 2010 09:05:17 -0400
- To: Enrico Motta <e.motta@open.ac.uk>
- CC: Juriy Katkov <katkov.juriy@gmail.com>, Semantic Web <semantic-web@w3.org>
On 10/31/2010 7:19 PM, Enrico Motta wrote: > 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. Sure - but these are two qualitatively different questions, and it seemed to me that the OP was asking about simple vocabulary reuse. Just as it's rarely a good idea to write software libraries from scratch rather than reuse existing, tried and true code libraries, complex models should also be sought out and reused. I don't think the ontology search engines are a great way to go about that though. I'd almost never recommend that someone perform a "foobar filetype:java" google search to find a Java library to reuse dealing with foobar, as I'm likely to have a great deal of difficulty telling the wheat from the chaff. If I'm looking for a solution for a complex modeling challenge, using an arbitrary ontology that matches a search term like "role" or "event" or "units" or what-not seems as likely to be a bad idea as rolling my own. (Perhaps even a worse idea, because my sub-par home-rolled solution is more likely to at least address my immediate use cases in a reasonable fashion.) That said, sites like http://ontologydesignpatterns.org/ are a tremendous value for this sort of search, and it'd be great if we had more actively evolving resources of this sort. > 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. Right, but there's an awful lot of subtlty and effort hidden in that word "useful" in that last sentence -- it's often near impossible to tell which results are useful and which are not! Lee > 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). > >
Received on Monday, 1 November 2010 13:05:56 UTC