Sign In/My Account | View Cart  
advertisement


Listen Print Discuss

What Are Topic Maps
by Lars Marius Garshol | Pages: 1, 2, 3

How to Use Topic Maps

There are two quetions here -- "how do I create a topic map?" and "how do I build an application once I have my topic map?" For creating a topic map there are four main approaches:

  • Have humans author the topic maps manually. This usually gives very high-quality and rich topic maps, but at the cost of human labor. This is appropriate for some projects, while prohibitively expensive for others.
  • Automatically generate the topic map from existing source data. This can give very good results if the existing data are well-structured (sound familiar?); if not, there are various natural-language processing tools that might help.
  • Automatically produce the topic map from structured source data like XML, RDBMSs, LDAP servers, and more specialized applications.

This all sounds very fancy, but to produce a simple topic map (or even a fancy one) you don't need anything more than a text editor, and for automatic generation XSLT stylesheets can be used perfectly well. This won't be enough for all uses, of course, and therefore there is specialized software for topic map editing and automatic generation of topic maps.

The next step is the question of where the topic map is going to live, that is, be stored and maintained. For simpler applications storing XTM documents in files suffices, but for most real applications some form of database storage will be necessary. Most topic map implementations support some form of database storage, using various approaches.

Generally, the heart of every topic map application is what is known as the topic map engine, which is roughly equivalent to an RDBMS database engine, but designed for topic maps. This component knows how to import and export XTM (and other topic map syntaxes), store, update, and query topic maps, and so on. The engine will handle the storage, and any updates will happen through it. For example, applications that implement a topic map-driven portal will sit on top of the engine and use it to access the topic map. More advanced topic map implementations have special frameworks that simplify the work of creating such applications.

But Wait, There's More

There are three additional features in topic maps that you really need to know about. The first of these is scope, which can be attached to any name, occurrence, or association in a topic map. Basically, scope ca be attached to anything you can say in a topic map. Scope allows you to qualify a statement, but still express it.

Imagine you are making a topic map about languages, and basing it on the ISO 639 and Ethnologue lists of language codes. In that case you might want to record that ISO 639 assigns English to the Germanic language group, while Ethnologue considers it a West Germanic language. This can be done by scoping the association between English and Germanic with a topic representing ISO 639, and the association between English and West Germanic with a topic representing Ethnologue. Similarly, one might use scope to record that what Ethnologue calls Maldivian, ISO 639 calls Divehi.

Users can then choose to see all information in all scopes, or only those in particular scopes, basically tailoring their view of the world as they want to see it. One common use of scope is to create topic maps where the topics have names in multiple languages, allowing topic maps to be converted between languages at the press of a button.

Another interesting feature of topic maps is the use of URIs to identify subjects. A topic may have any number of subject identifiers (URIs) which identify the subject the topic is about. These URIs should point to resources which describe the subject to a human; the resources are known as subject indicators. This allows subjects to be uniquely identified across topic maps and the entire web. For example, the URI http://www.topicmaps.org/xtm/1.0/core.xtm#superclass-subclass uniquely identifies the subclassing association type.

This unambiguous identification of subjects is used in topic maps to merge topics that, through these identifiers, are known to have the same subject. Basically, what happens is that two topics with the same subject are replaced by a new topic that has the union of the characteristics (names, occurrences, and associations) of the two originals. There is in fact a well-defined procedure for automatically merging topic maps based on this rule. The combination of globally unique identifiers and the merging procedure makes integration of diverse information sources and reuse of information very much easier.

One aspect related to this is the published subjects activity of OASIS, which is developing guidelines for how to create, publish, and maintain subject indicators intended for wide usage. One example of this is well-known URIs for all the countries in the world (based on the ISO 3166 country codes), which will allow us to tell that when you say 'Norway' in one topic map and I say 'Norge' in another, we mean the same thing. More on this in a future article.

Putting Topic Maps in Context

A question you may be asking yourself at this point is how something like topic maps fits into the larger family of XML standards. As I hinted at the beginning, topic maps are really an add-on to XML, something that adds extra value beyond what XML itself can do. You can in fact use topic maps without using XML at all. In a very real way, the two standards are similar without competing. They both have data models, interchange syntaxes, query languages, schema languages, and so on. Being developed for different purposes and doing different things well they can peacefully coexist and complement one another.

The relationship between RDF and topic maps is less obvious, however. Structurally, they are very similar, and their semantics are very close, although the distinctions in topic maps between base names, occurrences, and associations do not exist in RDF. At first glance it may appear that they are nearly the same, but on closer inspection it turns out that their respective communities think of the technologies in very different ways, and that features such as scope and merging actually make them rather different after all. Again, the conclusion seems to be that they are good for different things, and that there is room for both.

So what should be used where? Generally, use XML for interchange and document contents, RDF for fine-grained metadata, and topic maps for making information findable and anything that is mostly about relationships.

Conclusion

So, to sum up, topic maps make information findable by giving every concept in the information its own identity and providing multiple redundant navigation paths through the information space. These paths are semantic, and all points on the way are clearly identified with names and types that tell you what they are. This means you always know where you are, which prompted Charles Goldfarb to call topic maps "the GPS of the information universe."

Topic maps also help by making it possible to relate together information that comes from different sources through merging and published subjects. A future article will discuss this.

Tools and references

The following is a very partial list of places where you can find useful information about topic maps.

If you want to start creating your own topic maps I recommend downloading the Omnigator and writing an XTM or LTM file (see above). You can then browse your topic map in the Omnigator immediately, without any programming or stylesheets.


Comment on this articleGot questions or comments on this article? Share them in our forum.
(* You must be a
member of XML.com to use this feature.)
Comment on this Article


Titles Only Titles Only Newest First
  • #1 Carpet Rugs Upholstery Cleaning Studio City call 1-818-386-1022
    2009-06-11 15:06:56 whats [Reply]

    #1 Carpet Rugs Upholstery Cleaning Studio City call 1-818-386-1022
    L.A Carpet Care call 1-323-678-2704 Steam or dry Cleaner - Carpet Steam or dry cleaning, Deep Shampoo Carpet Cleaning, Area Rugs cleaning, Mattress Cleaning, Upholstery furniture Cleaning, curtain cleaning, Green Organic Carpets Cleaning.
    Los Angeles Carpet Cleaning Company Non-toxic Cleaning, Safeclean organic cleaning Los Angeles, California. Carpet cleaning Los Angeles,CA: We provide rug cleaning, upholstery cleaning, wood floor refinishing & maintenance, flood & water damage restoration, air duct cleaning and much more. LA Carpet Cleaning The Main Los Angeles Local Carpet Cleaners


  • תכנון , ביצוע ואחזקה למערכות כיבוי אש ומערכות אלקטרו מכאניות
    2009-05-05 02:10:05 toolmannet [Reply]


    פרופיל חברה


    נ.ל.י הנדסה עוסקת בתכנון וביצוע של מערכות כיבוי אש בפרט,ומערכות אינסטלציה ואלקטרו מכאניות בכלל. חברתנו מתמחה במתן פתרונות כוללים לכל המערכות בפרויקטים מרוכבים בהם נדרש מעוף וחשיבה יצירתית.
    במערכות כיבוי אש אנו מתמחים במתן פתרונות כוללים ע"י תכנון מודרני וחסכני ,כך שניתן להתאים ברוב המקרים את המערכת לאספקת המים העירונית וזאת תוך התאמה מלאה לתקנים הרלוונטיים .
    מחלקת השרות מוסמכת ע"י מכון התקנים הישראלי בביצוע ביקורות ועבודות תחזוקה לפי ת"י 1928.
    ניסיון של תכנון וביצוע של מאות אלפי מטרים רבועים של מערכות ספריקלרים וקצף בכל רמות הסיכון,החל ממרכזים מסחריים דרך בתי מלון ובתי אבות(פעילים בחלקם),מפעלים ברמות סיכון שונות,מחסנים, מעבדות וכו' מעניקים לנו ניסיון להתמודדות עם מצבים קשים ועמידה בלוחות זמנים צפופים.
    התקנת מערכות איגום והגברת לחץ מכל הסוגים וכל הגדלים בהתאם להנחיות התקן הישראלי 1596 והנחיות התקן האמריקאי,כמוכן מערכות אספקת מי צריכה כולל משאבות בעלות משנה תדר וכל הנדרש.
    בין לקוחותינו נמנים מפעלים ומוסדות רבים מכל מגוון תחומי העיסוק במשק, החל ממפעלי פלסטיק כגן פלסטופיל הזורע , תוסף, שחף, ריאון כברי ועוד , דרך מחסנים לוגיסטיים ברמת סיכון גבוהה כגון "פליינג – קרגו", רון פד ועוד, מרכזי קניות גדולים ,בתי אבות , בתי מלון , רשתות קמעוניות ועוד.
    בראש הצוות ההנדסי עומד מהנדס בוגר טכניון בעל ניסיון של למעלה מ-15 שנה בתחום.
    בסוף התהליך נבדקות המערכות ע"י מעבדה מאושרת לקבלת תו תקן פרטני למערכת הספציפית.
    סיסמתנו הינה "אמינות ויעילות" ,נשמח לצרף גם אתכם לחוג לקוחותינו.



    בכבוד רב


    מתי רבקין



    תכנון , ביצוע ואחזקה למערכות כיבוי אש
    ומערכות אלקטרו מכאניות


  • Carpet Cleaners los angeles 1-818-386-1022
    2008-09-28 15:46:46 0 [Reply]

    Carpet Cleaners los angeles 1-818-386-1022
    Los Angeles Carpet Cleaning services is the place for carpet cleaning, upholstery cleaning and air duct cleaning needs. Come see the experts at carpet cleaning, Spot and Stain Removal Pet Stain and Odor Removal, upholstery cleaning, tile and grout cleaning and stain removal. Learn about our two-step process and satisfaction guarantee. We have expert carpet cleaners, upholstery cleaners and air duct cleaners standing by! call 1-818-386-1022


  • tmproc is not Open Source
    2002-09-17 02:10:53 Lutz Horn [Reply]

    The programm tmproc is not Open Source. It's license[2] forbids the distribution together with non free software. This is against the first criteria "Free Redistribution" of "Th Open Source Definition"[2].


    [1] http://www.ontopia.net/software/tmproc/licence.html
    [2] http://www.opensource.org/docs/definition.php

  • New book on XML Topic Maps
    2002-09-12 22:10:23 Jack Park [Reply]

    _XML Topic Maps_ edited by Jack Park and Sam Hunting. Addison-Wesley, July 2002. Available from a variety of sources including Amazon, B&N, and Bookpool.com