NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Overview

This page serves as an instructional guide as well as a brief history and and overview about Protege to all non-NCI users.  Users are able to download a zipped copy of this public release Protege extenstion package, which contain the necessary installation folders. Within each folder, certain file(s) will need to be configured in order to properly run the application.  Once configured in the user should be able to run Protege within their own server environment.

...

All files should now be configured and ready to be used.  At this point, a new database project will need to be created and configured for the Protege server to connect with the database.  Follow the Instructions for creating and configuring a new Protege database project. 
4.0

Protege Database Project/Configuration Files

...


Loading the OWL file into a Project


Open the Protege client, run 'run_protege.sh', and click on "Create New Project".  Select OWL/RDF File,
and check "Create from existing source".  Click "Next".  A window will display requesting the address of the
source OWL file. Navigate to where the OWL file is stored and click "Finish".  The OWL file may take
some time to load into the client, dpending on the file size. 

Converting a File-Based Project into a Database Project


Once the OWL file is visible in the GUI, it can now be converted to an OWL/RDF database.   Click "File", 
"Convert Project to Format", and select OWL / RDF database.  A new window will open requesting information on the
database where the project should be created.    Even a database project has a file component that holds settings
for the project.  The first field in the new window will request the path to the project file. 

    The remaining fields are for database info:
    *JDBC Driver Class Name  - for MySQL, the database used by NCI,  this would be com.mysql.jdbc.Driver
    *JDBC Driver URL - the URL of the database.  In MySQL it will look like jdbc:mysql:<server>:<port>/<database>
    *Table - the name of the table to be created for this project
    *Username - username for access to the database
    *Password - password to the database

After entering, click "Finish" and the client will the proceed to load the data into the specified database table. 
This process may take some time depending on the file size.The console will display a completion message indicating
that the conversion process is successful. The database project should be visible in the client. 
The project is now ready to be configured.

Configuring the Database Project

...

Activating the NCIEdit Tab

...

Click "Project" on the menu bar, and select "Configure". On the Tab Widgets tab, enable the
the NcIEdit tab. 

<Optional>Within the same dialog, click on the Options tab and enable journaling and disable redo/undo.
Click "OK" to finish.

...

Changing the Tree Display

...

To set the display slots, click the NCIEdit tab, and click the "F" tab on the very far top right section
of the page.  You will now be within the Form Editor section. Set the "Display Slot" drop down to the property
you wish displayed for the concept (NCI Thesaurus uses "rdfs:label".

...

Changing the display of properties

...

Click the Properties tab, and click the "F" tab on the very right.  On the left hand menu,
click on "owl:DatatypeProperty", and set it's "Display Slot" drop down to "rdfs:label".  Next, click on the
owl:ObjectProperty on the left hand menu, and set its "Display Slot" drop down field to 'rdfs:label' as well.

...

Entering address for the Explanation Server

...

Click "OWL" on the menu and select "Preferences".  On the "General" tab set the explanation server URL to
the url where the explanation server will be located.  The <hostname> is typically "localhost" and the <port>
is set by the user when starting the Explanation server.  Example: http://localhost:1234/explain/

<Optional>On this same page disable Drag and Drop.  It can cause accidental re-treeing of concepts due to errant
drags.

<Optional>In the "Tests" tab disable "List deprecated classes and properties".  This will prevent testing of
deprecated classes which can save a lot of time if there are many of them.

<Optional>In the "Visibility" tab disable all the boxes in the MetaClasses section.  This can eliminate a lot of
clutter in the editing view.

Click "Close" at the bottom of the dialog box.

...

Activating Other Essential Tabs

...


Click "Project" on the menu bar, and select "Configure". On the Tab Widgets tab, enable the following tabs, and
order as shown:

*NCIEditTab
*LuceneQueryTab
*OWLPropertiesTab 
*OWLMetadataTab
*ChangesTab
*ExplanationTab
*NCIWorkflowTab

click "OK" to exit.  You will notice a window that will automatically display prompting you to choose a source to
store all changes and annotations ontology.  Changes are records of any type of modification that is done to any concepts
within the ontology. 

The window will prompt you to select whether to save to a new or existing changes ontology file, or to a database. After selecting,
follow the wizard to properly configure the changes ontology source.

...

Indexing the Ontology

...

The Lucene Query Tab (LQT) works off of a lucene index.  To enable this, click on "Lucene" from the menu bar, and
select "Index Ontology".  A window will appear with a list of all the properties.  By default, all properties are
selected, and you may customize indexing by selecting the properties individually as well. Click 'Start', and you will
notice a small status window at the top left hand of your screen.  Once indexing has completed (Indexing usually
completes when the status window disappears), a directory called "lucene" will have been created within the same directory
as your new database project. It is essential to keep the newly created lucene directory at this location.

<Optional - but advised>  Click on the "Properties" tab and click on the "Annotation" sub tab within the menu pane. 
Click "code" in the Annotation Properties list.  You should see the properties listed for code' within the
"Property Editor" section of the GUI.  Enusre that the property 'protégé:readOnly" is labeled as 'true'.  This will prevent
editors from changing the identifier for a concept once it is assigned.

...

Saving the New Database Project

...

Click "File", 'Save Project As.'  Name the project and save to a directory on the server. 
This act of saving will create an Annotations project in the same directory as the main project.  Close the project but leave the
Protégé client open.
 

Setting up the Metaproject security


The sample Metaproject should be found in the Protege.Server-1.2.3.25/examples/server folder. Open the nci_metaproject.pprj
provided.  Click on the "Instances" tab and select "Project" in the list to the left.  Select "Ontology" from the "Instance Browser"
in the middle and click the "View Ontology" button just above (It looks like a magnifying glass).  In the window that opens set the
name of your ontology as you would like it to appear when people access it from the server.  Just below that set the absolute path
to the project file crreated in 3.3.3.7.  Close just this subwindow using the red "X" in the upper right of the subwindow.

Now click on the Annotation_Ontology in the "Instance_Browser", name it and enter the path.  Close the subwindow. 

Click on "User" in the list to the left.  Examine the existing users by clicking on them.  Make a copy of the _test_editor user and
give it a new name and password.  Make note of this information for use in logging into the Protege Server later.

Click "File", "Save Project" then "Exit".

'ncitab.xml' File  

The Protege Client also contains an ncitab.xml file which is used to populate drop down menus with NCI-specific values in the Protege Client
also provides other ontology-specific configurations.  Towards the bottom of the file, curatorial authorities can be assigned to specific editors.

For example:

<authorization prop="curatorial-authority">
    <entry>
        <authority>enter_authority_here</authority>
        <username>enter_username_here</username>
    </entry>

Selected editors can be authrorized to handle specific concepts within the project.

NCIHeader.owl File

-------------------------------------------------------------------------------------------------------------------
      4.1 Loading the OWL file into a Project
-------------------------------------------------------------------------------------------------------------------
Open the Protege client, run 'run_protege.sh', and click on "Create New Project".  Select OWL/RDF File,
and check "Create from existing source".  Click "Next".  A window will display requesting the address of the
source OWL file. Navigate to where the OWL file is stored and click "Finish".  The OWL file may take
some time to load into the client, dpending on the file size. 

--------------------------------------------------------------------------------------------------------------------
      4.2 Converting a File-Based Project into a Database Project
--------------------------------------------------------------------------------------------------------------------
Once the OWL file is visible in the GUI, it can now be converted to an OWL/RDF database.   Click "File", 
"Convert Project to Format", and select OWL / RDF database.  A new window will open requesting information on the
database where the project should be created.    Even a database project has a file component that holds settings
for the project.  The first field in the new window will request the path to the project file. 

    The remaining fields are for database info:
    *JDBC Driver Class Name  - for MySQL, the database used by NCI,  this would be com.mysql.jdbc.Driver
    *JDBC Driver URL - the URL of the database.  In MySQL it will look like jdbc:mysql:<server>:<port>/<database>
    *Table - the name of the table to be created for this project
    *Username - username for access to the database
    *Password - password to the database

After entering, click "Finish" and the client will the proceed to load the data into the specified database table. 
This process may take some time depending on the file size.The console will display a completion message indicating
that the conversion process is successful. The database project should be visible in the client. 
The project is now ready to be configured.

--------------------------------------------------------------------------------------------------------------------
      4.3 Configuring the Database Project
--------------------------------------------------------------------------------------------------------------------
   
4.3.1 Activating the NCI tab
----------------------------
Click "Project" on the menu bar, and select "Configure". On the Tab Widgets tab, enable the
the NcIEdit tab. 

<Optional>Within the same dialog, click on the Options tab and enable journaling and disable redo/undo.
Click "OK" to finish.

4.3.2 <Optional> Changing the tree display
------------------------------------------
To set the display slots, click the NCIEdit tab, and click the "F" tab on the very far top right section
of the page.  You will now be within the Form Editor section. Set the "Display Slot" drop down to the property
you wish displayed for the concept (NCI Thesaurus uses "rdfs:label".

4.3.3 <Optional> Changing the display of properties
---------------------------------------------------
Click the Properties tab, and click the "F" tab on the very right.  On the left hand menu,
click on "owl:DatatypeProperty", and set it's "Display Slot" drop down to "rdfs:label".  Next, click on the
owl:ObjectProperty on the left hand menu, and set its "Display Slot" drop down field to 'rdfs:label' as well.

4.3.4  Entering address for the Explanation Server
--------------------------------------------------
Click "OWL" on the menu and select "Preferences".  On the "General" tab set the explanation server URL to
the url where the explanation server will be located.  The <hostname> is typically "localhost" and the <port>
is set by the user when starting the Explanation server.  Example: http://localhost:1234/explain/Image Removed

<Optional>On this same page disable Drag and Drop.  It can cause accidental re-treeing of concepts due to errant
drags.

<Optional>In the "Tests" tab disable "List deprecated classes and properties".  This will prevent testing of
deprecated classes which can save a lot of time if there are many of them.

<Optional>In the "Visibility" tab disable all the boxes in the MetaClasses section.  This can eliminate a lot of
clutter in the editing view.

Click "Close" at the bottom of the dialog box.

4.3.5 Activating Other Essential Tabs
-------------------------------------
Click "Project" on the menu bar, and select "Configure". On the Tab Widgets tab, enable the following tabs, and
order as shown:

*NCIEditTab
*LuceneQueryTab
*OWLPropertiesTab 
*OWLMetadataTab
*ChangesTab
*ExplanationTab
*NCIWorkflowTab

click "OK" to exit.  You will notice a window that will automatically display prompting you to choose a source to
store all changes and annotations ontology.  Changes are records of any type of modification that is done to any concepts
within the ontology. 

The window will prompt you to select whether to save to a new or existing changes ontology file, or to a database. After selecting,
follow the wizard to properly configure the changes ontology source.

4.3.6 Indexing the Ontology 
---------------------------
The Lucene Query Tab (LQT) works off of a lucene index.  To enable this, click on "Lucene" from the menu bar, and
select "Index Ontology".  A window will appear with a list of all the properties.  By default, all properties are
selected, and you may customize indexing by selecting the properties individually as well. Click 'Start', and you will
notice a small status window at the top left hand of your screen.  Once indexing has completed (Indexing usually
completes when the status window disappears), a directory called "lucene" will have been created within the same directory
as your new database project. It is essential to keep the newly created lucene directory at this location.

<Optional - but advised>  Click on the "Properties" tab and click on the "Annotation" sub tab within the menu pane. 
Click "code" in the Annotation Properties list.  You should see the properties listed for code' within the
"Property Editor" section of the GUI.  Enusre that the property 'protégé:readOnly" is labeled as 'true'.  This will prevent
editors from changing the identifier for a concept once it is assigned.

4.3.7 Saving the New Database Project
-------------------------------------
Click "File", 'Save Project As.'  Name the project and save to a directory on the server. 
This act of saving will create an Annotations project in the same directory as the main project.  Close the project but leave the
Protégé client open.
 
--------------------------------------------------------------------------------------------------------------------
4.4 Setting up the Metaproject security
--------------------------------------------------------------------------------------------------------------------
The sample Metaproject should be found in the Protege.Server-1.2.3.25/examples/server folder. Open the nci_metaproject.pprj
provided.  Click on the "Instances" tab and select "Project" in the list to the left.  Select "Ontology" from the "Instance Browser"
in the middle and click the "View Ontology" button just above (It looks like a magnifying glass).  In the window that opens set the
name of your ontology as you would like it to appear when people access it from the server.  Just below that set the absolute path
to the project file crreated in 3.3.3.7.  Close just this subwindow using the red "X" in the upper right of the subwindow.

Now click on the Annotation_Ontology in the "Instance_Browser", name it and enter the path.  Close the subwindow. 

Click on "User" in the list to the left.  Examine the existing users by clicking on them.  Make a copy of the _test_editor user and
give it a new name and password.  Make note of this information for use in logging into the Protege Server later.

Click "File", "Save Project" then "Exit".
       
--------------------------------------------------------------------------------------------------------------------
4.5 'ncitab.xml' File
--------------------------------------------------------------------------------------------------------------------
The Protege Client also contains an ncitabl.xml file which is used to populate drop down menus with NCI-specific values in the Protege Client
also provides other ontology-specific configurations.  Towards the bottom of the file, curatorial authorities can be assigned to specific editors.

For example:

<authorization prop="curatorial-authority">
    <entry>
        <authority>enter_authority_here</authority>
        <username>enter_username_here</username>
    </entry>

Selected editors can be authrorized to handle specific concepts within the project.

...


This file is optional, but can be copied over to your OWL file to provide the required NCI properties and concepts.
The codes can be adjusted as necessary, as long as it coincides with the ncitab.xml file.

...