Re: Why not import everything? (was: Re: getting daml:imports right is easy?)

All- have watched most of this discussion with one comment in my head 
"Phffft" - but guess that isn't enlightening enough, so I'll jump in 
both feet.  Basically, I think real people (and I've got some real 
examples coming soon) are unlikely to use imports properly, and if 
you make imports automatic then the SW will probably never work 
w/real reasoners.  Let me explain --

I've now taught sem web courses a couple of times, and will do again 
in the Fall.  What I do is have my students write 20 facts about 
themselves they'd like to share w/the world, and a few weeks later 
they render them in DAML+OIL for a grade [1].  The students are 
exposed to the D+O reference manual and walkthru, but also to the 
ontology library and tools on the daml.org web page.   (You can see 
the results of a recent class at [2], although the University did a 
renaming of backend servers without telling anyone so many of these 
are now broken links - another real-world sort of thing!)

In almost every case (about 17 of 20 so far) the students have 
defined their ontologies by linking to existing ontologies and their 
instances as linking to multiple ontologies.  As an example, one 
student wanted to say her dog was brown.  She searched the ontology 
library and found that CYC had info about dogs -- she linked to the 
URI for http://.../cyc#dog and looked at what was there - decided it 
was okay.  But it didn't have fur color, so in her ontology she 
defines fur color by including the cyc name space and then adding the 
property of furcolor with the string "brown" as its value (later in 
the term she went back and linked to a thing on colors Dan Connolly 
had created and added brown to his list).  She also linked other 
facts about herself to other parts of CYC, to other ontologies 
(including several Jeff Heflin translated from SHOE), and to new 
classes she made up herself.  [3,4]

Now, on the inferencing end, a few things could happen --
  i. we could insist this student has to understand all the info in 
CYC and agree to it (i.e. by using imports correctly)
  ii. we could automatically import all of cyc (and the others)
  iii. we can figure out some way to "import" only the cyc#dog facts 
or otherwise say when you use a URI from an ontology it only 
"commits" to some localized stuff (perhaps only the exact subgraph 
you point to)

In the first case, the SW doesn't work because no way in heck is 
someone going to learn to commit to something like CYC by studying 
the whole thing and making sure it is consistent with her beliefs 
(imagine asking a naive user who wants to tell us about a dog that we 
need to go through a short little 40,000 step dialog to make sure she 
really understands what a dog is!)

In the second case, the SW doesn't work because every inferencer will 
have to load the transitive closure of all the imported stuff - cyc 
alone is big enough to break most chainers, and this student also was 
linked to things in at least 5 other ontologies - and other students 
linked to hers.   Inference will grind to a halt when the transitive 
closure of "imports" is the entire semantics of the web - we're 
already talking millions of assertions on daml marked up pages (and 
that's mostly ontologies, not the instances)

In the third case, the user is happy, the algorithm designer is happy 
(with respect to scale), but the logician is unhappy -- this student 
is pointing at things which might be inconsistent!!!  Oh, the horror!

So my suggestion, learn to live with it!!   If you cannot work in the 
real world of messy data and inconsistent semantics, then get the 
hell off the web.

What can we do?  Let's get some folks thinking about a modern view of 
inference and ontology where the whole (semantic) world is one huge 
interlinked ontology (as the whole web is one huge interlinked 
document) and figure out how to live with it - because if we can't, 
this whole enterprise is doomed from the start to be no more 
successful than current AI systems.

  -JH

[1]  http://www.cs.umd.edu/~hendler/CMSC498x/asst1.html
[2]  http://dormouse.cs.umd.edu:8080/wiki/assignment_1_submission_p.wiki
[3]  ontology: http://glue.umd.edu/~aloomis/498x/hw1-ont.n3
[4]  instances: http://glue.umd.edu/~aloomis/498x/hw1.n3
-- 
Professor James Hendler				  hendler@cs.umd.edu
Director, Semantic Web and Agent Technologies	  301-405-2696
Maryland Information and Network Dynamics Lab.	  301-405-6707 (Fax)
AV Williams Building, Univ of Maryland		  College Park, MD 20742
http://www.cs.umd.edu/users/hendler

Received on Thursday, 23 May 2002 09:21:57 UTC