TM4L Editor is an authoring environment that supports the creation, maintenance, and use of ontology-aware courseware based on the ISO standard – Topic Maps. As an alternative to conventional authoring systems TM4L is aimed at facilitating the integration of already existing learning resources on the web. TM4L is based on TMAPI, a proposed common programming interface for topic map processors. For additional information see the related publications. This product includes software developed by the TM4J Project.
Some of the new features in the latest release of TM4L include:
TM4L Editor distribution file includes everything you need to run the Editor (except the Java Runtime Environment). You can download it from the TM4L project page.
TM4L is frequently updated, check back periodically for new versions.
Note. In some cases Window installations may require JRE in C:\ directory.
The default language of TM4L is English. Besides English, TM4L supports other languages, currently including Chinese (Taiwan), Japanese (Japan), French (France), and Nepali (Nepal). To change the language option:
To create a new topic map select the Topic Map tab in the Editor. The fields on this tab describe the topic map to be created and the author. All fields are optional except Subject (Main Topic) which is used to provide reference to the new topic map. After entering the metadata click the Create button to create the new topic map. You can add / update the metadata of an earlier created topic map and save it by clicking the Save Info button.
The first step in the design of a learning content repository is the creation of a conceptual structure, ontology, to be used for further classification of the learning resources. The classification structure is often composed of hierarchies of concepts (topics). Different types of relations (known as associations in Topic Maps) between topics are associated with three well-known abstraction mechanisms: a superclass-subclass hierarchy (taxonomy), whole-part hierarchy (partonomy) and class-instance relationships ( topic typing). Using these abstraction mechanisms it is possible to model the semantic interconnectedness of topic (learning object) classes and their instances in an ontological model.
An ontology model typically consists of concepts and relationships between these concepts. One of the key relationships in a learning content collection is whole-part (part-of). Though it is possible to distinguish between different kinds of whole-part, e.g. structural whole-part and functional whole-part, we don't distinguish between them in our model. Another fundamental relationships in a learning content collection and in modeling the subject domain to be learned is superclass-subclass (is-a). TM4L provides significant support for creation of "whole-part", "class-subclass", and "class-instance" relationships by supporting three different views of the topic map ontological structure based on them.
Building of a content taxonomy or partonomy is facilitated by the transitive property of the superclass-subclass and and whole-part relationships. Note however that not all ontologies are trees in the formal sense according to the inheritance hierarchy. TM4L handles the case where these relationships are discontinuous, thus it is able to visualize forests as well as trees. Nodes with more than one parent in the whole-part and type-instance hierarchy are indicated in the topic tree with an asterisk (*).
As it was already mentioned, the TM4L Editor incorporates three views : Topics Partonomy, Topics Taxonomy or Topics Typing. The first view displays a whole-part tree, the second one displays a superclass-subclass tree, while the last view displays a class-instance structure. With this enhancement we intend to provide alternative insights into the learning content structure.
The distinction of the above viewpoints is essential during the Topic map creation. A user can edit/view the topic map in a pre-selected view. The Topic map to be edited using a particular view must be loaded after selecting that particular view.
To select a particular view:
After selecting a specific view, the corresponding relationship type is considered default and will not be displayed in the Relationship panel. Instead, when a new topic is added as a child to a parent in the topic tree, a relationship of the default type will be automatically created between the parent and the child topics. Thus choosing Topics Partonomy results in updating whole-part relation type collections, Topics Taxonomy in updating the superclass-subclass relation type collections, while Topics Typing - in updating the class-instance relation type collections. To switch editing in a new view the topic map must be reloaded after selecting the desired view.
TM4L provides two complementary access modes to the topic collections: Subject Topics and All Topics. In the Subject Topics mode only the topics defined by the user in the Topics pane are displayed. In the All Topics mode along with the topics defined by the user in the Topics pane, all the predefined and system topics, as well as names of the relationship types, roles, and resource types are displayed. The All Topics option is provided for extended access to the relevant aspects of the learning collection, that is, to enable the user to edit or delete topics having complementary role in the organization of the learning collection such as Resource Type, Roles, Relation Types, etc. The TM4L default (and recommended) access mode is Subject Topics.
In order to change the access mode to the topic collection the user have to:
Warning: Modifying or deleting some of the topics listed in the All Topics mode in ways that are not compatible with xtm may result in corrupted Topic Map. We do not recommend using this mode by inexperienced users.
In order to switch to editing in a different mode:
To create a new topic select the Topics tab, then click the Create button on the left pane, fill-in the required information in the Create New Topic dialog box and click OK. The Subject Indicator field is optional and can be added in later stages using the editing mode. A subject indicator for a topic can be a URL of a website, which describes uniquely the topic. It can be used as a reference allowing to determine the meaning of the topic. After closing the Create New Topic dialog, the newly created topic becomes the current topic that enables us to add information to it.
After a topic is created you can add resources in the form of text or URL by clicking the Add button of the topic resources pane and providing the requested data. Similarly, you can add additional topic name(s) and variant name(s) by clicking the Add button of the topic names pane and providing the requested data.
Relationships between topics can be created in TM4L Editor in two ways: either explicitly in the Relationships panel or automatically in the Topics panel by adding a topic as a 'child' to a 'parent 'topic in the topic tree that represents the topic map structure. This tree view can be based on one of the three basic relationships: whole-part, superclass-subclass and class-instance. You have to choose which view of the topic map you would like to use (partonomy tree or taxonomy tree or typing structure) before creating or opening a topic map. You can change the view at any point but after that you have to reload the topic map. Note that the default TM4L view is Topics Partonomy. To create a new subtopic of a (parent) topic:
When a topic is added as a sub-topic (child) to a (parent) topic in the topic tree, a relationship of the default type is automatically created between the parent and child topics.
The Topics pane presents the hierarchy (tree) of the topics. In order to see all available information in the Topic map about a specific topic: select the topic in the tree by clicking on it. The selected topic becomes the current topic with which you are currently working. All the information about it is presented in the right panels. All changes (insertions, deletions, replacements) are performed on the selected topic. To unselect a selected topic double-click on it.
Typically the actions for adding new topics are similar to editing existing topics, which are presented in more details in the following section along with the functionality specific to editing. Note that the item to be edited has to be selected prior to editing.
TM4L allows inspection of all characteristic, associations and occurrences in which a selected topic is involved. This feature is particularly useful during editing (modification) sessions since it provides a “close up” view of a given topic, complementary to the hierarchical relational and theme views. To view the complete list of the involvement of a topic and its characteristics:
Note. If you are unable to see the complete descriptions of some items related to the selected topic, resize the popping up window to enable all items to be displayed properly in the provided boxes.
You can add or edit a characteristic of the current topic. In order to do so first you have to make the topic current by selecting it in the topic tree in the left pane.
Name and Subject Indicator. To edit the topic name or subject indicator press the Edit button in the Topic pane and then edit the fields as needed.
Parent Topics. To add a new parent, select a topic from the topic tree in the left pane and then click the Add button in the Parent Topics pane. From the resizable Add Parent dialog box select the parent topic. Notice that topics with multiple parents are displayed in the topic tree with an asterisk attached to the end of the topic name, i.e. Prolog Sintax* . To delete an existing parent of a given topic, select the corresponding parent field of the Parent Topics pane, and then click the Delete button.
Topic Resources. To add a new resource press the Add button in the Topic Resources pane and fill-in the corresponding fields shown in the opened Add Resource dialog box. To provide addressable external resources, type-in the URL in the first field (Resource URL). For internal resources (short description, definition, names, etc) type in or copy/paste the text in the second field (Resource Data). You can select one of the predefined types (from the drop down menu) for the resource to be added or enter your own type by selecting the Enter New Resource Type option.
To edit an existing resource press the Edit button in the Topic Resources pane and edit the corresponding fields of the Edit Resource dialog box.
Topic Names. To add a new name or variant press the Add button in the Topic Names pane and fill-in the corresponding fields of the opened Add Another Topic Name dialog box. For the variant names you can select one of the predefined use options from the drop down menu.
To edit existing (variant) names press the Edit button in the Topic Names field and fill-in the corresponding fields of the opened Edit Topic Name dialog box. For the variant names you can select one of the predefined use options from the drop down menu, next to each variant name field.
You can check the topic map URLs (links) integrity by selecting the Check Links option from the Tools menu. To see the report on the links status select the Links Report option from the Tools menu. You can see the report many times, it will contain the same information until your next links checking.
To create a new relation select the Relationships tab, click the Create button on the left pane and fill-in the required fields in the opened Create Relationship Type dialog box. In this dialog box you should enter the role types (maximum three with this dialog box) for each member of the relation to be created. For example, for binary relations you enter two role types and for ternary relations three role types. The Display Name field is optional (see the next paragraph). For relations with four or more members, the forth, fifth, etc, role types can be added by clicking the Add button of the Relationship Members’ Roles and filling-in the required information in the popping up Add Member’s Role dialog box. Role types in each relations are unique. It is not allowed the same role type to be used in two or more relations.
In Topic Maps, relations are by definition bilateral i.e. for each relation between two topics, a reverse relation exists in the other direction. For example “Christo Dichev is employed by WSSU” has a reciprocal relation “WSSU employs Christo Dichev”. To capture these contextual distinctions it is possible to assign a different name ( display name in terms of TM4L) to the relation type for each role that the relation supports. In effect display names are relation type names scoped by the roles in the relation. For a binary relation such as “Employer-Employee” this approach will result in three separate names for the relation. In the unconstrained scope, the relation type will be named "Employer-Employee". For the two other names we will type them in the Display Name provided by the Create Relationship Type pop-up window for each role. Thus the role players of the relation will play also a role of context for the relation names. Assume we type for the role “Employer” the display name "employs" and for the role "Employee" the name "is employed by". Then the name "Employer-Employee" will be used as the default name for the relation. The name "employs" is to be used and displayed in the context of the role "Employer", while the name "is employed by" is to be used and displayed in the context of the role "Employee". An application may then use the role currently in focus as part of the user context when determining which is the best name to be applied.
Note that TM4L provides a set of predefined relations such as “Instance Of”, “Superclass-Subclass”, “Whole-Part”, and “Related”, considered particularly useful in practical context. The intended meaning of these relationships that is supposed to be incorporated in the corresponding Topic Map application is as follows: T2 Instance of T1 - topic T2 is an instance of a topic T1; T1 Superclass-Subclass T2 - any instance of class T2 is also an instance of class T1; T1 Whole-Part T2 - the topic T2 is part of another topic T1; T1 Related T2 - there is a semantic relationship between topics T1 and T2.
These relations are displayed along with the user defined relations when the Relationships tab is selected. To create a specific relation of these four types you are only required to type in the role players for each role type as it is described below. Once the new relation and role types are successfully created, you can create specific relations of that type. To create a relation click the Add button in the Relationships of this type panel. It invokes the Add Relationship dialog box with two windows, Roles and Members and a scrolling area Select Topic as a Member. (The Add Relationship dialog box is resizable (as it is Add Parent ) and you can resize it for a better display of the topic list). You have to fill-in the player (member) slots for each role . To do so, select the player (member) slot that is to be filled in next by clicking on the corresponding role (left to the corresponding member slot). This results in changing the background color of the selected role to blue. Next, from the scrolling area Select Topic as a Member select the topic supposed to play the selected role (the topics are listed alphabetically). Note that after selecting a particular topic, its name appears in the Members field, next to the Roles field.
Note that in the current implementation of TM4L even when a new relation and role types are successfully created, if you do not add at least one specific relation of that type, after reloading the topic map the new relation will not be listed among the existing relations. Instead, the newly created relation type and roles will be displayed as topics in the Topics pane.
As with topics, actions for adding new relations share a substantial part of the functionality related to editing existing relations, which are presented in the following section along with the functionality specific to editing.
To edit a given relation type you have to make it current by first selecting it in the left (Relationships) pane.
Relationship Type pane allows editing the name and subject indicator of the selected relation type. Editing is activated by clicking the Edit button.
Relationship Members Role pane allows adding, editing and deleting chosen role members of the selected relation.
Relationships of this type pane allows adding, deleting and applying themes to specific relations. By using themes you can constrain the interpretation of certain relation within a given scope defined by the theme.
The theme concept (known as scope in Topic Maps) enables us to define a context within which some topic characteristics are valid. To create a new theme select the Themes tab, then click the Create button on the left pane and fill-in the required fields in the opened Create New Theme dialog box. With this dialog box we provide the theme name as a string and possibly URL (subject indicator). The URL field is optional.
Note that, in order to enable TM4L distinguish the new theme from ordinary topics you must apply the created theme before saving or reloading the topic map. Otherwise TM4L will save it as a regular topic.
Theme may be applied to names, resources and relations.
Topic Names. Themes can not be applied to primary topic names. Instead an alternative to the primary name is supposed to be used within a particular theme. Assume that alternative forms of the primary name have already been created. To apply a theme to a name (different from the primary name), first select the topic name in the Topic Names pane and then press the Theme button . In the opened dialog box Apply Theme to Topic Name select the theme from the scrolling area Select Theme to Apply and click Apply.
Topic Resources. To apply a theme to a resource first select the resource in the Topic Resources pane and then press the Theme button. In the opened dialog box Apply Theme to Resources select the theme from the scrolling area Select Theme to Apply and click Apply.
Relationships of this type. To apply a theme to a particular relationship, first select the relationship in the Relationships of this type pane and then press the Theme button. In the opened dialog box Apply Theme To Relationship select the theme from the scrolling area Select Theme to Apply and click Apply.
If you don't see the theme you wish to apply, go to the Themes pane and create that theme; then return and apply it.
The TM4L editor can visualize a Topic Map fragment defined by selected topic along with all topics in the Topic Map related to it. This makes easier to detect incomplete groups of topics, missing topics, redundant topics or misplaced topics by exploring the groupings of related topics.
To view a selected topic surrounded by related topics, that is a selected Topic Map fragment:
To display the corresponding Topic Maps fragment you have to click the SHOW button. To clear it click the Clear button. The Show Labels (Hide Labels) allows you to see (hide) the relation type names when hovering over a particular relation.
TM4L supports interaction between graphical and standard view enabeling more detailed inspecting of selected Topic Maps fragments. This featured is made possible by enabling any topic selection in the graphical view to remain selected in the standard view. By clicking the (Topics) View button the user can view all details related to the selected topic.
Note that after updating the topic map, e.g. inserting or deleting topics, you need to visualize the graphic structure again.
The original TM4L Editor enables authors to create TM-based learning content and repositories, by adding topics, relations, resources and scopes (themes). The textual editing functionality of TM4L was extended with a graphic editor (provisionally called TM4L-GEV), based on a graph representation. The latest graphical extension was supposed to complement both the Viewer and the original TM4L textual Editor with editing functionality.
TM4L-GEV provides a graph representation for TM constructs (topics are represented as nodes and relations as edges) and has capabilities to navigate and edit topic maps. It is a browsing and editing “in-one-view” module. The simplest editing feature consists of direct editing of the topic name of a selected topic node. In a similar fashion the author can edit a relation type name.
The editing functionality of TM4L-GEV includes add topics and edit topics.
Add Topic. To add a new topic right click on a free area of the visualization pane and from the popping up menu select Create New Unlinked Node. After typing in the name in the Topic Name box, click the OK button. This operation results in creating a new topic and adding it to the current topic map. The new topic is not linked (related) to any other nodes of the displayed graph.
Edit Topic. Editing topics includes the following functions: Viewing Image, Expanding Node, Collapsing Node, Hiding Node, Renaming Topic, Deleting Topic, Adding Related Topic and Adding Relationship.
To edit a topic right lick on the selected topic. From the drop down menu select one of the options: View Image, Expand Node, Collapse Node, Hide Node, Rename Topic, Delete Topic, Add Related Topic or Add Relationship.
In addition to browsing the Topic Map for finding content in the repository TM4L supports two types of searching: search for topics by name and Topic Map queries.
Using the Find Topic interface provided at the bottom of the TM4L right pane users can search for topics by typing set of words (strings) contained the in the topic names. The first found topic is highlighted. By clicking Find Next the search continue for the next matching topic.
Topic Map Query supports in turn two types of queries: Tolog and Template queries. The first one enables users to query Topic Maps using the Tolog query language syntax where query values may be either variables or topics. To initiate a tolog query click Tools and from the drop-Down menu select Search and then Tolog Query . The resulting Tolog interface provides a text entry box for writing queries using tolog syntax Each query is in a relational format containing arguments that are either variables or topics such as followings examples.
select $TOPIC from Whole-Part(Car:Whole, $TOPIC:Part)?
select $TOPIC1, $TOPIC2 from Whole-Part($TOPIC1:Whole, $TOPIC2:Part) order by $TOPIC1?
In the first example in case of successful match the two variables $TOPIC1 and $TOPIC2 will be instantiated to the corresponding topics. In the third example in addition to instantiating the variables $TOPIC1 and $TOPIC2 they will be ordered by $TOPIC1.
After the query is written into the text field you can run the query by clicking Run Query button. The output of a tolog query is a sequence of results forming a table. Each row in the table corresponds to one query solution. And each column corresponds to a variable declared in the select clause.
For typical tasks TM4L supports template queries with user-friendly interface. To initiate a tolog query click Tools and from the drop-Down menu select Search and then Customized Query . Templates are defined for two kinds of queries: relationship type queries and occurrence type queries . Template querying provides an intuitive interface where the user can select topics, association types, occurrence types and specify the way a topic is related to other topics or occurrences. Relationship type query are intended to capture search requests involving related topics. This type of queries covers scenarios such as:
For the second scenario we assume that if the user has selected a particular role player and relationship type he wants to find the other role players (and not all relationship of this type when the selected topic is one of the role players). Therefore this query templates returns the role players based on a fixed relationship and second role player with fixed role type.
In Set Query section of the Template Query interface, there are three areas to specify the query condition: Topic, Relationship Type and Topic. Users can set the query conditions by specifying the value for those three fields. Each field can be either “?” or a specific value. Question mark “?” denotes an unknown field to be instantiated as a result of the evaluation of the query. Choosing Select Topic or Select Relationship Type opens a window for selecting values for the corresponding fields. For example, by choosing Select Relationship Type, the Select Relationship Type window pops out. You can select an item from the list and that item will be filled into the Relationship Type field as a selected value. By clicking the Run Query button of the Relationship type interface, a TOLOG type query is generated and executed. The result of running the query, is a table-oriented sets of instances displayed in the bottom part of the window. The Resource type queries, also cover typical query scenarios such as:
A similar intuitive interface is provided for the resource query. If the resource is an addressable resource, i.e. URL, by double clicking on the URL displayed in the query results table, TM4L opens the corresponding webpage. When it is resource data, it displays the View Resource window to the user.
TM4L allow merging between topic map documents. Merging is a process applied to topic maps in order to reduce the number of topics representing the same subject. Using the provided support for merging, knowledge from different sources can be integrated into a coherent whole. TM4L supports two types of merging: name-based merging and subject-based merging.
The name-based merging requires that whenever two or more topics have the same name in the same scope, they are assumed to have the same subject, and they are automatically merged into a single topic node. Regarding subject-based merging, we assume that whenever two or more topics specify the same subject identifiers, then they have the same subject. In such case, TM4L merges them into a single topic.
Note! When you select the merge option the merged topic map is automatically stored in the originally loaded xtm file. If you need the original topic map save it under different name before applying merging.
TM4L allows sharing information between, Topic Maps and RDF. We support the view that partitioning the Web into collections of incompatible resources should be minimized. In support of this view TM4L enables conversion between Topic Maps and RDF, thus making it easier to harness both RDF data within a topic map application and Topic Maps data within a RDF application. Since the expressive power of the source language is sometimes insufficient to capture completely the intended meaning of the constructs of the target language in a natural way the implemented approach of the translation is a tradeoff between completeness and readability of the translation. In addition our conversion strategy is aimed at maximum reuse of the target vocabulary which also impacts the expressivity of some aspects of the source language. Another consideration that influenced our approach was aimed at capturing the properties having impact on the domain ontology. This consideration suggests giving higher priority in translation to ontological concepts with specific importance to organizing digital collections.
To convert xtm file into rdf format or to convert rdf file to xtm format click Tools then from the drop-down menu select Convert and then XTM to RDF or RDF to XTM. The popping up dialog box will ask you for the name of the file to be converted.
After the conversion is confirmed (by clicking the Open button) TM4L generates the converted file and automatically saves it by adding to the original name "_rdf" ("_xtm" ) suffix followed by the corresponding file extension. For example, if you convert Test.xtm (Test.rdf), after the conversion TM4L will automatically save the converted file in the same directory under the name Test_rdf.rdf (Test_xtm.xtm). If in the same folder you have file with the same name that you need it, rename it or move it to another directory. The following two links describe the implemented strategies of the conversion from Topic Maps to RDF and vice versa.
Note. At present the conversion of n-ary Topic Maps associations is disabled, to adapt it the new model adopted recently.
TM4L supports plug-ins based on the Java Plug-in Framework (JPF) an open source, LGPL licensed plug-in infrastructure library for new or existing Java projects. A plug-in is a structured component that describes itself to JPF using a "manifest". JPF maintains a registry of available plug-ins and the functions they provide (via extension points and extensions). Based on this framework TM4L is written as a collection of plug-ins that can be extended by both TM4L developers and users to alter or broaden the interface and behavior of the editor.
There are several steps that are common to the development of TM4L plug-ins, which are described in the following document:
More specific information related to Java Plug-in Framework (JPF) can be found in JFP sourceforge site.
In TM4L the copy functionality is available by use of CTRL-C and the paste functionality is available by use of CTRL-V.
To copy text:
To paste text:
If you open a window, for example, to select text from, after you complete the work you have to minimize that window, in order to be able to see the TM4L window that was active prior to opening the second one.
TM4L is still in the development cycle therefore unexpected bug may occur. We strongly recommend that you make a backup copy of your work.
Please let us know of any bugs, inaccuracy, or any other problems with the software by sending email to email@example.com. We make no warranties or guarantees about this software.