Java RDFizer

The Java RDFizer scans java bytecode and generates an RDF description of its internal structure, along with information on classes, packages, archives and dependencies between them.

How does it work?

It scans the bytecode and finds the various information about the classes directly from there and transforms them into RDF (using an N3 syntax). It's memory consumption depends on the class size, not on the number of classes to process, so it can be used for an very large number of classes (I've tested it against 100Mb of compressed java bytecode and ran with no problems at all).

How do I get the source code?

You need a Subversion client. Type svn in your shell and see if you have one already installed. If not, go to the Subversion web site and get one.

Then type

 svn co http://simile.mit.edu/repository/RDFizers/java2rdf/

the source code will be fetched and downloaded to the ./java2rdf directory.

How do I use it?

First, you need ant installed.

Second, run "ant" where the build.xml file is located (alongside this very document). This will generate a jar file called "java2rdf.jar".

Third, type "java -jar java2rdf.jar /path/to/folder/ > dump.n3" where the path is the folder where your java classes and/or packages (jars,wars,ears) are located.

The program will scan recursively and process every java bytecode that it can find from that point on. You can also add more paths to the command line and they will be simply queued.

Note: the RDF will be dumped to STDOUT and the files currently processed or skipped will be dumped to STDERR.

Credits

This code is based on code written by Franz-Josef Elmer for the Classycle project. Credit and the license restrictions have been preserved, even if the code has been substantially simplified.

The rest of the software was created and is maintained by the Simile Project and in particular:

Facts about Java RDFizer — Click + to find similar pages.RDF feed
Attribute values
Short description The Java RDFizer scans java bytecode and generates an RDF description of its internal structure, along with information on classes, packages, archives and dependencies between them.  +