Download RIC v3.0 Alpha


Author: Michael Grove
For the MIND-SWAP Project

Here is RDF Instance Creator (RIC). This is the most recent stable version, v3.0 Alpha. RIC is a general use tool for creating semantic mark-up. You can read in ontologies found online, or on your hard drive, and create mark-up using the terms from the ontologies you import into the program. A form based user interface enables users to quickly and easily create mark-up for their homepage, for work, or for research.

RIC is open source (see below) so if you plan on working on RIC, let me know so we can work together, or I can at least lend any assistance I have to give. RIC should work reasonably well as long as you stick to correctly formatted OWL, DAML and RDF files that do not use too many advanced features.

Check out a screen shot of RIC in action.

Some sample URLs to try:



Download the code below. See if you can get RIC up and running and use it to do something useful. If you don't know how to use RIC, check out the readme or just ask. If you find any problems or bugs, let me know and I will fix it ASAP. Also, when you notify me of bugs or errors, please try to send the event.log file that should be created when you run RIC. And of course, any suggestions for improvements would be greatly appreciated.

Download the class files

Below is the link to the source code. Before you download it, you might want to check out the license. I should warn anyone who might get the source, it's a bit hairy. The code is at times messy, incomplete, and completely lacking comments. It's alpha quality code, so I won't give any guarantees about its robustness or attractiveness. I'll be around to field any questions anyone might have so just ask.

Download the source code
Check out the readme (also included in zip)

And for anyone who is interested, here is a jar file for the parser I wrote that is used in RIC. It's not still not quite complete, but it works. Download it if you are interested. You'll also need this utility jar. I would appreciate any comments or bug finds. Also, here is a link to the javadocs for the parser. They aren't finished yet, there are 182 classes I have to document. But it's at least a basic outline and the docs will be updated as I make changes and add new information.

Installation & Execution instructions:

Pretty simple, just unzip the code file and copy all the code into a directory somewhere. Then run org.mindswap.ric.RIC (the main file) and you should be on your way! Command line execution will look something like this, depending on what type of system you are on:

java -classpath "path where RIC files located; path where RIC files located\jar\jython.jar" org/mindswap/ric/RIC



Check out an example python script

See some sample output from RIC. The data uses the agenda ontology whose URL is given above and represents one day of a fictional meeting agenda.




Version History


Known Bugs:



One more thing, I created what I refer to now as RICScript awhile back as an automated way to test my program. It's basically just a script that runs a test case. If the program doesn't crash and comes up with the correct output, then I didn't break anything when I made my latest additions. Lately, it's occured to me this might be a mildly useful feature for importing databases, or writing up automated scripts to generate some RDF without ever using the program's GUI. To use a RIC Script just write the code up in a text file and open the text file in the program using File->Open. The program will take care of the rest, or blow up if you didn't write the file correctly. Here is a sample script. Note the # character is the comment char, but it must be placed at the beginning of a line to work. And you need to have a semicolon at the end of a line.

IPT http://www.wam.umd.edu/~mhgrove/personOnt.rdf pers;
USE pers:Athlete Joe;
LD Joe;
SET pers:height 6'0";
SET pers:weight 283;
SET pers:eyeColor blue;
SET pers:hairColor brown;
SET pers:plays { USE pers:Football anon };

# here's a slightly more complicated example of composing objects
#SET pers:plays { USE pers:Athlete anon1 { SET pers:height 5; SET pers:weight 123; } };

# Here's a crazy little example of nesting statments
#SET pers:plays { USE pers:Athlete anon1 { SET pers:height 5; SET pers:weight 123; SET pers:plays { USE pers:MaleAthlete taco; } } };

ULD;
GEN c:\Documents and Settings\mhgrove\Desktop\output.doc;


IPT Imports the specified url with the specified abbreviation.
USE Creates an object of specified type with the specified id.
LD Loads an object by id as the current object
SET Sets the specified property with the value on either the currently loaded object or the object specified in the command. ie SET Joe pers:height 6;
ULD Unloads the current object.
GEN Generates the RDF to the specified file.

Contact Me

MINDSWAP is a W3C member