As an example of the approach I recommend, I will cite, once more,
the technique that Bill Andersen and his group developed. See
paragraph 3 of Section 6 from "Fads and Fallacies about Logic."
(And by the way, Jim Hendler, with whom I often disagree more than
I've ever disagreed with Pat and Chris, liked that paper very much
-- he was the editor of the journal in which it was published.)
John
______________________________________________________________________
Excerpt from
http://www.jfsowa.com/pubs/fflogic.pdf6. Using Logic in Practical Systems
The hardest task of knowledge representation is to analyze knowledge
about a domain and state it precisely in any language. Since the 1970s,
knowledge engineers and systems analysts have been eliciting knowledge
from domain experts and encoding it in computable forms. Unfortunately,
the tools for database design have been disjoint from expert-system
tools; they use different notations that require different skills and
often different specialists. If all the tools were based on a common,
readable notation for logic, the number of specialists required and the
amount of training they need could be reduced. Furthermore, the domain
experts would be able to read the knowledge representation, detect
errors, and even correct them.
The first step is to support the notations that people have used for
logic since the middle ages: controlled natural languages supplemented
with type hierarchies and related diagrams. Although full natural
language with all its richness, flexibility, and vagueness is still a
major research area, the technology for supporting controlled NLs has
been available since the 1970s. Two major obstacles have prevented such
languages from becoming commercially successful: the isolation of the
supporting tools from the mainstream of commercial software development,
and the challenge of defining a large vocabulary of words and phrases by
people who are not linguists or logicians. Fortunately, the second
challenge can be addressed with freely available resources, such as
WordNet, whose terms have been aligned to the major ontologies that are
being developed today. The challenge of integrating all the tools used
in software design and development with controlled NLs is not a
technical problem, but an even more daunting problem of fads, trends,
politics, and standards.
Although controlled NLs are easy to read, writing them requires training
for the authors and tools for helping them. Using the logic generated
from controlled NLs in practical systems also requires tools for mapping
logic to current software. Both of these tasks could benefit from
applied research: the first in human factors, and the second in
compiler technology. An example of the second is a knowledge compiler
developed by Peterson et al. (1998), which extracted a subset of axioms
from the Cyc system to drive a deductive database. It translated Cyc
axioms, stated in a superset of FOL, to constraints for an SQL database
and to Horn-clause rules for an inference engine. Although the knowledge
engineers had used a very expressive dialect of logic, 84% of the axioms
they wrote could be translated directly to Horn-clause rules (4667 of
the 5532 axioms extracted from Cyc). The remaining 865 axioms were
translated to SQL constraints, which would ensure that all database
updates were consistent with the axioms.
In summary, logic can be used with commercial systems by people who have
no formal training in logic. The fads and fallacies that block such use
are the disdain by logicians for readable notations, the fear of logic
by nonlogicians, and the lack of any coherent policy for integrating all
development tools. The logic-based languages of the Semantic Web are
useful, but they are not integrated with the SQL language of relational
databases, the UML diagrams for software design and development, or the
legacy systems that will not disappear for many decades to come. A
better integration is possible with tools based on logic at the core,
diagrams and controlled NLs at the human interfaces, and compiler
technology for mapping logic to both new and legacy software.
Reference
Peterson, Brian J., William A. Andersen, & Joshua Engel (1998)
"Knowledge bus: generating application-focused databases from large
ontologies," Proc. 5th KRDB Workshop, Seattle, WA.
http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-10/_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Config: 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 Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx