[an error occurred while processing this directive]
[an error occurred while processing this directive]
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:
- http://www.mindswap.org/~mhgrove/personOnt.rdf
- http://www.mindswap.org/~mhgrove/pictureOnt.rdf
- http://www.mindswap.org/~mhgrove/weather-ont.daml
- http://www.isi.edu/webscripter/project.o.daml
- http://www.isi.edu/webscripter/person.o.daml
- http://iama.rrecktek.com/daml/ont/Person-ont-g3r1.daml
- http://iama.rrecktek.com/daml/ont/agenda-ont
- http://www.cs.umd.edu/projects/plus/DAML/onts/univ1.0.daml
- http://www.cs.umd.edu/projects/plus/DAML/onts/base1.0.daml
- http://www.cs.umd.edu/projects/plus/DAML/onts/general1.0.daml
- http://www.cs.umd.edu/projects/plus/DAML/onts/personal1.0.daml
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
- Version 3.0a (this Version)
- Removed expandable text boxes due to user feedback
- Completely re-wrote parser from ground up
- Added "Open RDF" command to menu allowing RDF data to be imported directly into the ADA
- Changed the "Use Object" button. Added a sort of salience filter to display appropriate classes for use.
- Made fixes to make RIC compatible with the new parser, made several bug fixes along the way
- Fixed open dialog boxes so directories are always visible
- Version 2.87a
- Made text boxes in workspace somewhat resizeable so its easier to enter in larger amounts of text
- Can specify the destination URL of RDF files you generate (using xml:base)
- Added support for importing NTriples files. However, this is only currently accessible from the python support. A module is in the works and slated for the next release.
- UI improvements
- Version 2.85a
- Added Python support via Jython
- Added support for daml:oneOf tag
- Fixed bugs in handling of rdf:type and rdf:Description tags
- Stripped down the search and fixed numerous bugs associated with it. There is now a slow, light-weight version available for use
- Added the ability to link terms in the Active Data Area
- Added "Add Property to Class" functionality
- Added "Add Class to Ontology" functionality
- Fixed a bug that caused the parser to recurse infinitely
- Fixed a bug where namespaces were duplicated
- Added some OWL Lite support. Now handle all OWL Lite constructs except inverseOf, sameIndividualAs, and someValuesFrom
- Version 2.73a
- Streamlined parser and object model, gaining slight speedup
- Fixed bug that occured when reading instances
- Fixed list scrolling problem
- Junk chars are no longer saved when RDF is generated
- Added cardinality support to restrictions
- Added error checking on datatypes and object usage
- Disabled search due to serious bugs in code
- Several minor GUI changes and bug fixes
- Version 2.58a (Open Source Release)
- Added offline Import
- Added Clear Active Data Area
- Added Delete from Active Data Area
- Made RICCodeReader (for using RICScript) exceptions more precise. Now scripts don't half load on errors. It's now all or nothing
- Several minor UI and bug fixes
- Version 2.51a
- Added Clear All function
- Expanded Restriction support
- Minimal support for Lists
- UI changes including some drag and drop functionality
- Version 2.47a
- Stopped using Jena
- Expanded how much of the RDF/DAML language I can reliably handle
- Minimal XML support for the DOCTYPE and ENTITY tags
- Added Searching
- Version 1.90a
Known Bugs:
- Some bugs related to the search feature
- Problems when namespaces get duped
- Linking nodes sometimes causes infinte recursion in RDF generation
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
[an error occurred while processing this directive]