[Top] [All Lists]

Re: [ontolog-forum] [ontology-summit] Invitation to a brainstorming call

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Ian Horrocks <Ian.Horrocks@xxxxxxxxxxxxxxx>
Date: Wed, 15 Dec 2010 09:42:11 -0800
Message-id: <F7D84B22-8216-465C-8074-B4C9C138536D@xxxxxxxxxxxxxxx>
[re-posted here as per request from Peter]    (01)

I'm constantly amazed at the passion that OWL seems to arouse. OWL and the OWL 
2 profiles are simply fragments of FOL with useful computational properties. 
I'm surprised that we can get so excited about decidable fragments. I'm even 
more surprised that someone who apparently likes FOL "hates" these particular 
fragments.    (02)

I can easily understand why you and others might believe that OWL is too 
restricted for what you want to do, and why you might want to use full FOL. 
Please go right ahead -- I won't be in the least offended. I don't see how OWL 
would interfere with such an endeavour, and I would have thought that it might 
even help as you can trivially extend OWL ontologies with arbitrary FO axioms. 
In fact, you could think of OWL as being a design pattern, which you apparently 
like, as opposed to a fragment, which you don't like.    (03)

Regarding the other techniques you mention, it is true that they can be used to 
address some of the problems associated with computational complexity (where we 
can think of semi-decidability as being a very high complexity class). Modern 
OWL reasoners already employ many of these techniques. Of course we can, by 
definition, never "deal with" these problems, and ontology languages with high 
computational complexity will always suffer from some lack of robustness, i.e., 
relatively small changes in the ontology and/or data may result in performance 
"falling off a cliff". This was the motivation for the definition of the 
various OWl profiles: if a given application requires some guarantee of 
robustness, then they can obtain it by staying within a suitable profile. Note 
that the syntactic definition of profiles is crucial here, otherwise one risks 
deciding membership of the profile being an intractable problem in itself.    (04)

Coming back to the OWL -v- FOL question, I think that much of the "problem" 
arises from fundamental differences in how we view the design and use of 
ontologies. Many of the ontologies I see are extremely simple (in fact I often 
find myself being asked to defend the unnecessary expressive power of OWL) and 
perhaps wouldn't pass muster if examined by a formal ontologist. However, they 
may still be found to be an extremely useful piece of an application, even if 
only a rather small piece. I tend to see this in a positive light -- we are 
raising the profile of and exploring applications for ontologies. Hopefully you 
can try to see OWL in a similar light -- it is raising the profile of 
ontologies, encouraging the use of (a fragment of) FOL as an ontology language, 
and providing you with a ready source of "customers" ripe for "upgrading".    (05)

Ian    (06)

On 10 Dec 2010, at 10:57, John F. Sowa wrote:    (07)

> Ian,
> Before saying anything else, let me emphasize that I believe the work
> on algorithms, complexity, and decidability by you and your colleagues
> is very high quality and very important for computer science.
> But the sentences at the end of your note explain why *I hate OWL* :
>> In fact, it can be shown that query answering in OWL 2 RL [Rule Language]
>> is possible in time that in the worst case increases only polynomially
>> with the size of the data. In *this* sense, OWL 2 RL really is less
>> (computationally) complex.  However, as I mentioned above, the price
>> users pay for this is an *increase* in syntactic or cognitive complexity.
> By syntactic complexity, I realize that you are talking about something
> much more fundamental (and cognitively much harder for people to learn)
> than the angle brackets.  But knowledge acquisition has always been
> the major bottleneck in AI and the SW.  Anything that increases the
> "cognitive complexity" is a bad step in the wrong direction.
> As Dean said,
>> I find that in the classes I do teach, the students are very concerned
>> about complexity in the computational sense...
> But there are many ways of dealing with computational complexity while
> actually *reducing* the cognitive complexity:
> 1. Design patterns.  Every programming language is undecidable, but no
>    programmer would ever ask for less expressive power.  Instead, they
>    have developed *design patterns* for systematic ways of using their
>    languages in ways that are known to be safe and efficient.
> 2. Hybrid systems.  The original DLs were packaged as hybrids with
>    the DL component designed for efficient classification and a more
>    expressive language (rule-based, full FOL, or even arbitrary
>    procedures) were used to achieve the required expressive power.
>    And design patterns (or something similar) can be used for the
>    more expressive part of the hybrid.  (The RL option of OWL doesn't
>    address the main reason why people use hybrids:  they need more
>    expressive power, not less.)
> 3. Dynamic algorithm selection.  Cyc has developed the largest formal
>    ontology on the planet, but CycL imposes no restrictions on the
>    expressive power.  Instead, they use dynamic methods for selecting
>    appropriate algorithm(s) for each problem or subproblem they
>    encounter.  Similar strategies are also used for the systems that
>    compete on the Thousands of Problems for Theorem Provers (tptp.org).
> 4. Knowledge compilers.  For many applications, it's possible to do
>    a *static* selection of the algorithms:  Map the very expressive
>    languages (such as CycL and others) via appropriate design patterns
>    to forms can be processed efficiently by known algorithms.
> I'm sure that you know the references for these methods, but for
> other readers, I include some in the following article:
>   http://www.jfsowa.com/pubs/fflogic.pdf
>   Fads and Fallacies About Logic
> At the ICCS 2010 conference, Boris Motik gave a good presentation
> about adding finite graph models to OWL in order to broaden its
> expressive power while preserving decidability.
> I certainly like the idea of supporting graphs, but not the idea
> of adding more cognitive complexity to an already overstuffed
> language.  Instead of stuffing more into OWL, why don't you ask
> some of your students to do research on methods such as #1 to #4
> above to find ways of *reducing* the cognitive complexity?
> Other talks at ICCS described more efficient algorithms for
> Formal Concept Analysis (FCA), which generates consistent lattices
> from source data that is cognitively extremely simple.
> That would be another excellent topic for your students:  design
> hybrid systems that combine an FCA-style of hierarchy with automated
> or semi-automated methods for supporting additional expressive power
> at varying levels of complexity up to the level of CycL.
> Cognitive complexity is killing the Semantic Web.  As a result,
> people are building their own hybrids that add very scruffy methods
> to OWL or RDFS or RDFa -- thereby destroying the decidability that
> the OWL restrictions were designed to support.
> The four techniques above (or something similar) would be an
> excellent way to support Tim B-L's project for "Web Science".
> John
> _________________________________________________________________
> Msg Archives: http://ontolog.cim3.net/forum/ontology-summit/   
> Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontology-summit/  
> Unsubscribe: mailto:ontology-summit-leave@xxxxxxxxxxxxxxxx
> Community Files: http://ontolog.cim3.net/file/work/OntologySummit2011/
> Community Wiki: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2011  
> Community Portal: http://ontolog.cim3.net/wiki/     (08)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (09)

<Prev in Thread] Current Thread [Next in Thread>