ontolog-forum
[Top] [All Lists]

Re: Representation - KIF vs Protege [was Re: [ontolog-forum] Personas a

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Patrick Cassidy <pcassidy@xxxxxxxxxxxxxxxx>
Date: Sat, 09 Aug 2003 01:30:37 -0400
Message-id: <3F3486FD.50303@xxxxxxxxxxxxxxxx>
I am exceedingly reluctant to get into a prolonged
discussion of representation formats, but since assertions
have been made that I think are not correct, I will
state my views.    (01)

As best I can tell, Protege has mechanisms that will
permit us to include everything that can be stated in
KIF.  Properly represented, all the Protege structures can
be translated into KIF and vice-versa.  I have only
done translations of simple elements, not all of the
facets in Protege, but I can't see any reason why
a translator could not be constructed that preserves
all of the logical elements.    (02)

It appears to me that Adam has a different concern, that
working with Protege or other frame-based systems will
encourage one to use logical representations that are
not optimum.  I am skeptical of this claim, and don't
consider the C vs C++ analogy to be convincing.
The problem is, that to test the claim one would need to
be able to evaluate the ontologies constructed with
different tools.  I have been inquiring for years
whether anyone can provide public programs that use ontologies
to allow us to build a test suite for evaluation, but
other than the OpenCyc system made available, I still
haven't seen such public applications.  Perhaps Adam has some
convincing arguments that don't require an actual application
to evaluate.  But first, read on.    (03)

Q1.  Can we represent ternary and higher relations in Protege?
A1.  In several ways.  For example, one can create additional
      facets on the standard slot to represent additional
      arguments in a ternary or higher relation.  I have done
      that and such facets for SUMO ternary relations can be
      viewed in the UBLinv014 ontology available on my web site:
           ftp://micra.com/ontolog/UBLinv014.pprj
           ftp://micra.com/ontolog/UBLinv014.pont
           ftp://micra.com/ontolog/UBLinv014.pins    (04)

Q2.  Can one represent axioms in Protege?
A2.  Yes.  As Leo has mentioned there are some built-in implicit
      axioms regarding hierarchy and facets. But in addition,
      one can record any axiom as a "PAL-constraint".  This
      will be a set of ASCII strings indistinguishable from the
      axioms represented in the KIF file as a set of strings.
      Such axioms can be moved back and forth from a KIF file
      to a Protege text file with a simple macro or PERL script.    (05)

Q3.  Is Protege only really useful at an early stage of ontology-
       building, and a hindrance for more sophisticated work?
A3.  I don't believe so.  To me Protege is primarily a tool to
      visualize some of the parts of an ontology in a convenient
      fashion, but it is also able to record any other logical
      element that one wants to use in an ontology.  But it does
      not have good built-in reasoning that a more sophisticated
      development environment might have, such as consistency
      checking or querying.  (Some plug-ins developed by
      Protégé users provide additional functionality).  The only
      public tool I know of with those facilities is the OpenCyc
      system (also, there is a LOOM system that I have not had a
      chance to evaluate).  Perhaps we should consider the OpenCyc
      system as a development environment?  The logic it uses is
      CycL, not KIF.  But it seems close enough to KIF to allow
      easy translation.    (06)

A3.1  On the other hand, even if it were only useful at an early
       stage, the fact is we *are* only at an early stage in
       developing the UBL ontology.  If we get to a point where
       really sophisticated programs are being run and Protege
       seems to obscure or make difficult useful functions, I will
       be delighted to use any other tool that is available and has
       greater functionality.    (07)

A3.2  Since KIF files are only ASCII files in a particular format,
       it seems logical that any ASCII file such as Protege file
       with properly delimited fields will be translatable into
       a KIF file, though the reverse may be more complicated, as
       the fields in the KIF file are not explicitly tagged.    (08)

      Bottom line -- I don't believe that doing some or all of the 
ontology development in Protege will in any way hinder our
effort, and believe that at this stage it will make it easier to
discover and record the concepts and their relations.  Explicit
axioms are necessary, and can be recorded as PAL-constraints.
I would recommend using all the tools we can find, each of which
may make certain functions easier.  The SUMO browser that
Peter has now installed looks like it will be useful too.
Translation between formats should be possible.    (09)

==============
To respond to a couple of comments in this thread:    (010)

-------------------------
[Kurt Conrad] >> I guess this leads me to a corollary question:
 >> Does the decision to produce an ontology in KIF effectively
 >> preclude working with any other languages and/or platforms?
 >
[Adam Pease] > No, but I believe the reverse is at least partially
 >> true.  If we choose to develop the ontology as a frame system,
 >> it will have to duplicate a lot of the content that already
 >> exists in SUMO, and then won't be  transferable to a formal
 >> ontology in logic later.
 >
      I believe Protege logical structures are translatable to
KIF, and would be willing to try it for any structures that
any of our participants think could present problems.
I haven't yet tried to translate all of the parts of SUMO
to KIF, since I do not yet know if we will be using Protege
as the actual development environment, rather than merely
a visualizer for the classes and relations.  In particular,
I have not decided which of several representations of
the SUMO functions would be best -- several are possible.    (011)

--------------------------------------------    (012)

[Leo Obrst] >>Protege, because it is a frame system, does not give
 >> ontology modeling folks the direct capability of expressing
 >> axioms. Instead, it (both as a tool and as an expression of
 >> an underlying knowlege model/language, i.e. OKBC) does not
 >> carve out the knowledge representation space in the same
 >> set of constructs and instead parcels out the modeling
 >> constructs in terms of entity-oriented (OO-like) frames of
 >> reference, where the frame acts as a container for all the
 >> assertions about the particular class (except for built-ins
 >> special axioms like the inheritance/transitivity
 >> property of privileged "subclass" relations, which every
 >> OO system has).
 >>
 >> I hope this is clear. Please let me know if it's not,
 >> and I'll elaborate.    (013)

As I mentioned above, the axioms can be expressed (i.e.
recorded as ASCII strings), but they cannot in general be
executed to serve as a query language with the flexibility
of the OpenCyc query language.   There is some limited
inferencing on PAL-constraints in Protege.    (014)

     Pat    (015)

=============================================
Patrick Cassidy    (016)

MICRA, Inc.                      || (908) 561-3416
735 Belvidere Ave.               || (908) 668-5252 (if no answer)
Plainfield, NJ 07062-2054        || (908) 668-5904 (fax)    (017)

internet:   cassidy@xxxxxxxxx
=============================================    (018)

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config: 
http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (019)

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