RTM - Ruby Topic Maps

News

2009-04-30
This page has moved to http://rtm.topicmapslab.de.

2008-04-16
Some more details about referencing topics and creating topics by reference have been added below.

2008-04-08
Finally, RTM is available now using the default RubyGems installation procedure:

gem install rtm
Thanks to Florent Solt from gRTM, a Gnome client for Remember the Milk, who - unknowingly - kidnapped the name slot and now changed the release name to their project name. Also thanks to the Ruby Forge admins for the support.
Celebrating this event, I'm releasing version 0.1.1 featuring some code clean up, bug fixes and such. Maybe you'll also find a tardy easter-egg inside.
By the way, this gem was packaged using JRuby - RTM runs fine on JRuby :-)

And, I forgot to say, the type-instance and supertype-subtype-stuff mentioned below, also works like this:

require 'rtm'
RTM.connect
tm = RTM.create "urn:/bla"
tm.get!("a1").add_type("A")
tm.get!("b2").add_type("B")
tm.get!("c3").add_type("C")
tm.get("A").add_subtype("B")
tm.get("B").add_subtype("C")
A bit shorter, isn't it? Should have mentioned that earlier... and it detects recursivity, of course.

2008-04-02
Greetings from Oslo, Norway! After a 3 hour tutorial at the Topic Maps 2008 conference this morning some bugs were ironed out and RTM is now considered Beta. Try the new gem, it's in the Download section and will soon be in the official gem repository.

2007-12-13
A new preview release is available.
It includes many bugfixes and 2 enhancements:

2007-10-26
I thought it is a good idea to also upload the slides from TMRA, so here they are: RTM presentation slides.

The day before TMRA, I gave a 3 hour tutorial on programming Ruby and using RTM.
It covered standalone Ruby and basic usage of RTM in the first part. In the second part we created a Ruby on Rails web application and integrated RTM into it.
The slides were mostly a guideline through the tutorial and a reference for explaining things. Without these explanations and the demonstrations I did, it is a load of theory. I removed a bunch of organizational slides to not clutter it up too much.

2007-10-18
This is the preliminary web site for Ruby Topic Maps which has been presented at TMRA 2007.

Mailing List

The Mailinglist interface can be found here: Mailing List

Download

You can install the latest gem from the central rubyforge gem repository by typing

gem install rtm
at your command prompt. Alternatively, you can download it here: rtm-0.1.1.gem.
Some old sources say gem install rubytopicmaps, which is wrong. The above one is the correct one.

Of course, don't forget to read the disclaimer below!

Rubyforge Project Page

Instructions

Installation

You need activesupport, activerecord and json gems installed for RTM to work. To use the memory backend, you also need SQLite3.

Then install RTM:

If you're installing locally, use the exact gem name: gem install rtm-0.1.x.gem

Next, fire up irb and load RTM. On the command line do

To use another back end:

Usage

Creating items

Browsing items

Referencing topics

Within RTM, topics can be referenced using their identifiers. Which specific type of identifier is used for querying is explained in the section "Querying topics" below. For any write operations, i.e. setting a type, creating an occurrence, internally, the method get! is used. For any read operations, internally, the method get is used.

Querying topics

Change characteristics of topics

(using an example topic t from a topic map tm)

Import/Export

Feedback, Comments, Questions, Bug Reports, Patches

Please send any of the above to bb--rtm-web at bockb dot de (yes, that's bb dash dash rtm dash web...)

Disclaimer

Copyright (c) 2007,2008 Benjamin Bock.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. Redistributions in any form must be accompanied by information on
   how to obtain complete source code for the software and any
   accompanying software that uses the software. The source code
   must either be included in the distribution or be available for no
   more than the cost of distribution plus a nominal fee, and must be
   freely redistributable under reasonable conditions. For an
   executable file, complete source code means the source code for all
   modules it contains.  It does not include source code for modules or
   files that typically accompany the major components of the operating
   system on which the executable file runs.

THIS SOFTWARE IS PROVIDED BY BENJAMIN BOCK ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
NON-INFRINGEMENT, ARE DISCLAIMED.  IN NO EVENT SHALL BENJAMIN BOCK
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.