3. Getting Started With TMTab

Table of Contents

Creating A Topic Map
Creating A Topic
Creating Names
Creating Occurrences
Creating An Association
My First Topic Map

Creating A Topic Map

The basic topic map ontology shipped with TMTab enables you to start creating topic maps straight away. To do this, you must first create an empty Protégé project and then include the TMTab topic map ontology:

  • From the "Project" menu select "New"
  • In the pop-up dialog that is displayed, select "Standard Text Files" and click "OK"
  • From the "Project" menu select "Include..." and in the file dialog that is displayed, navigate to <your protege installation dir>/projects/topicmaps and select topicmap.pprj. This should add the class TOPIC and its subclasses to the class hierarchy.

You are now ready to start creating topics and associations.

Note

Some users have reported problems with getting Protégé to reopen a project after including topicmap.pprj. This seems to be related to Protégé creating an incorrect relative path to the included project in the including projects .pprj file. Currently, the steps to fix this are as follows:

  1. Create the new project and save it before including topicmap.pprj

  2. Close and reopen the project and then choose "Project" > "Include..." and select topicmap.pprj.

  3. Save and close the project

  4. Open the project's .pprj file in a text editor and search for the string "topicmap.pprj"

  5. Change the relative path to topicmap.pprj into a complete path (on Windows platforms, use double backslash (\\) to separate directories).

  6. Open the project in Protégé again - the project should now open with no load errors and should dispay the TOPIC class and its subclasses in the class hierarchy.

Creating A Topic

To create a topic, go to the Instances tab of the Protégé window and select the class TOPIC from the tree on the left. In the Direct Instances pane, click "C" to create a new instance of the TOPIC class. The new instance will be created immediately and selected. You may then use the form on the right hand side of the window to enter the information for this topic. You may provide values for any or all of the following fields.

"Model Name" is used to enter a default name for the topic. This name will be generated as a baseName in the unconstrained scope for the topic.

"Subject "specifies the URI which identifies the resource which is the subject of the topic.

"Subject Indicators "is a list of URIs which address resources which describe the subject of the topic.

"Names" is a list of instances of the NAME class. See the section called “Creating Names” for more details.

"Occurrences" is a list of instances of the OCCURRENCE class and is used to identify information resources related to the topic. See the section called “Creating Occurrences”

"Types" is a list of instances of the TOPIC class and is used to define the topics which establish the class(es) to which this topic belongs. See

Creating Names

Names are created as instances of the class NAME. The NAME class is derived from the TOPIC class to enable a name to be reified. In addition to the fields provided for the TOPIC class (as described above), the NAME class has the following slots:

Name String is used to specify the string value of the name.
Scope is a list of instances of the TOPIC class which defines the set of themes which make up the scope of the name.
Variants is a list of instances of the VARIANT-NAME class which defines the set of variants of the parent NAME instance.

The VARIANT-NAME class is used only to create variants on an instance of the NAME class. As with NAME, VARIANT-NAME is derived from TOPIC to enable a variant to be reified. In addition to the slots of the TOPIC class, the VARIANT-NAME class has the following slots:

"Name Resources" is a list of strings which should be URIs of resources which may be used as a variant name.
"Name Strings" is a list of strings which may be used as a variant name.
"Scope" is a list of instances of the TOPIC class and is used to define the 'parameters' of the variant (the topics define additional context for the variant name).

Creating Occurrences

Occurrences of topics are creates as instances of the OCCURRENCE class. As with NAME, OCCURRENCE is derived from TOPIC to enable reification and has the following additional slots:
"Resource" is a string which specifies the occurrence information. Use this for 'inline' occurrences such as topic meta data.
"Resource Locator" is a string which specifies the address of occurrence information. Use this for 'out-of-line' occurreces such as web-pages related to the topic.

Creating An Association

Associations between topics are created as instances of the ASSOCIATION class. The ASSOCIATION class has only one class-specific slot, Members, which accepts a list of instances of the MEMBER class. The MEMBER class is used to define each member role of the association and the topics which play that role. The MEMBER class defines the following additional slots:

"Role Players" is a list of instances of the TOPIC class. This list specifies which topics play the role defined by the MEMBER instance in the parent ASSOCIATION instance.

My First Topic Map

<<To Be Completed: A step-by-step guide to creating a simple topic map with the basic topic map ontology >>