[Top] [All Lists]

RE: [ontolog-forum] SKIF-Protege conversion

To: <cassidy@xxxxxxxxx>, "'[ontolog-forum] '" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Bob Smith" <robsmith5@xxxxxxxxxxxxxx>
Date: Wed, 14 Jan 2004 14:30:22 -0800
Message-id: <20040114224646.AB6BE3B5@xxxxxxxxxxxxxxxx>
Pat,     (01)

Great work !!!    (02)

Am trying to install and test now. Might be a day before I can appreciate
it.    (03)

Thanks again,    (04)

Bob Smith     (05)

-----Original Message-----
From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx
[mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Patrick Cassidy
Sent: Wednesday, January 14, 2004 1:54 PM
To: [ontolog-forum]
Subject: [ontolog-forum] SKIF-Protege conversion    (06)

Re: Importing SKIF ontologies into Protege.    (07)

The program that imports a SKIF file into Protege has been developed to the
point where others can try using it, but it is still in a crude state.  at
present it is intended only to illustrate how SKIF files could be
represented in Protege, to determine whether this is  useful tool.  If there
is sufficient positive feedback, I will try to add to the functionality of
the program, but time is now very restricted, as I have other projects
     I would like to know from each of you if (1) having a Protege
visualization is helpful in your evaluation of suggested content, or in
helping you to add content; and (2) if so, what additional features would
you feel are required to suit your purposes.
We have already discussed the need to re-export Protege files into SKIF
format, and that is a subject for discussion.  Since it will take me (a
novice to Java and to Protege plugin development) probably over two months
full time, this feature will not be available in the immediate future. (3)
would you like to set up a session to use the Invoice ontology as a sample
ontology for learning how to use Protege?  I will conduct a session by
teleconference if anyone wants to.  At the end of this note there is a
paragraph on how to use the instances in the ontology developed from Adam's
suggested content, as a practice testing ground.    (08)

The preliminary version of the Protege plugin which converts SKIF-format
ontology files into Protege is available at:
        ftp://micra.com/ontolog/skif_tab.jar    (09)

To use this plugin, the "jar" file (Java archive) should be added to the
"plugins" directory which is in whatever base directory your Protege program
runs from. (the default is Protege-2000).
Using it to import a SKIF file requires that you start with a Protege
ontology that has certain classes and relations already defined.  The base
ontology in that format is called "SKIFcore"
and can be obtained as the WinZip file containing the three
Protege text-format files:      
The extracted files should be added to the Protege base directory.
When you start Protege you can open this skeletal ontology by clicking
"project" and then "open", and selecting SKIFcore.    (010)

The SKIf tab can then be loaded by clicking "project", then "configure", and
checking the SkifTab box, and "OK".  After a short loading time, the SKIF
tab should appear as the rightmost tab in the set of tabs, labeled "SKIF
utilities".  IF you click that tab, you will see a set of buttons and a
report panel.  Some of the buttons and some of the choices on the menus
brought up by clicking the first two buttons are at present either
diagnostics, dummies, or still functions under development.  The "Import a
SKIF file" button, however, should work to import a SKIF-format file,
provided that it is organized into blocks of related propositions, as is the
SUMO version 1.5 text file.  More detail about conversion of SKIF to SUMO
can be found in the file "SKIFProt.doc" (a WinWord
file) at:
If anyone has trouble reading WinWord files, I will post or send a text
version.    (011)

      The format of the original SUMO version 1.55 file had a few
irregularities, and some of those were adjusted to allow proper importation.
That slightly modified file is at:
A few statements with irregular format were left deliberately as is, to
generate error messages when the file is input, for illustrative purposes.    (012)

When you click the "Import a SKIF file" tab,  you can enter the name of a
file to import, and if that space is left blank, the default file name
"testin.kif" is used.  The file supplied, which can be used to view the
importation process, is available at:
(if the corresponding text file "testin.kif.txt" is downloaded, be sure to
rename it "testin.kif" and put it in the prote'ge' base directory).  This
file contains the data from SUMO version 1.55, to which have been appended
the first group of propositions and axioms suggested by Adam Pease to begin
construction of the Invoice ontology.  These propositions and axioms have
been reorganized and supplemented so that they fit the grouping format used
in SUMO 1.55, which allows them to be imported with the SKIF utilities.
        If you try the importation using this file, you will see a fairly
large number of diagnostic statements generated to the report pane.  Only
those labeled "**ERR** should be of concern to anyone trying to import a
file - such statements should indicate that the parser does not recognize
the format of the input statement. This can be caused by an error in the
format of the input statement, or a limitation of the parser.  In the
future, a separate error report should be generated.  Unless there is a
serious programming error (usually a null pointer), the importation should
complete with whatever data can be properly interpreted.  Unbalanced quotes
will also cause a program crash.  (Note that the "parser" is not created by
using a grammar with regular patterns, but is composed of strictly ad hoc
procedures to handle specific components of a SKIF file.  - there is no
grammar file).    (013)

     The Protege database generated by importing the SUMO + Invoices text
file "testin.kif" is available as a WinZip file containing the three
SKIN0001 Prote'ge' files:
        http://micra.com/ontolog/skiftab/SKIN.ZIP    (014)

    The Prote'ge' database that represents SUMO version 1.55 and does not
include the statements from the Invoice extensions is SUMO155k.    (015)

Try Out the Invoice Ontology
        In this Protege ontology SKIN0001, the instances of CognitiveAgent,
Buying, Selling, Address and FinancialTransaction which are defined in the
proposed Invoice ontology example will be found by clicking the "Instances"
tab and selecting the appropriate class.  As mentioned, the links between
these instances are not created by the present version of the import
program, but for those new to Protege it will be a useful exercise to try
creating the links specified in the KIF file - e.g. create the "address"
link between JerryBuilderPLC (an instance of CognitiveAgent)
  and "MarshLane" (an instance of Address).  One does this in the
"instances" window, by selecting (or searching for) the class cognitiveAgent
and then the instance of the class JerryBuilderPLC that one wants to relate
to other instances.  Then you have to find, e.g. the "address" widget in the
right-hand pane, click on "+" to add an address, and you will be presented
with the only two instances of address in the database.  Select the correct
address (if the correct address isn't in the database, you can create it by
going back to the "address" slot widget and clicking the "C" button.    (016)

     Likewise, you can try to create the "located" link between MarshLane
(an instance of address) and NowhereFolk (an instance of City).  In this
case, when you go to the Address class and select the MarshLane instance,
then move the slide bar on the right hand pane down until you find the
"Located" slot widget, if you then click the "+" button on the "Located"
widget, you will see the whole hierarchy for "Object" because the domain 2,
the instance of location, can be any Object.  To find the one you want you
have to search for City in the search box.  When City is selected, you will
see existing instances of city that you can select from.    (017)

     As mentioned above, if and when the import program is extended, the
relations between instances that are specified in the SKIF file will be
automatically entered into the Prote'ge' database.
That is not yet done, as this version is only a preliminary demo to show
where different logical elements from a SKIF file would appear in Prote'ge'.    (018)

    Pat    (019)

Patrick Cassidy    (020)

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

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

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/ Community Wiki:
http://ontolog.cim3.net/wiki/ To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (023)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (024)

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