Jonathan worked this week on new features for the
Bioclipse RDF editor (see
these two earlier items). This version still does not edit, but only display using
Zest. Jonathan created for me an extension point so that anyone can make the editor aware of domain objects, by simply registering the extension implementation along with the
rdf:Class URI of the
rdf:type of an object. This fixes the problem of having to hardcode dependencies of the RDF editor on all the domain code, as was the case
earlier.
For example, the cheminformatics
IMolecule object is now linked to the
rdf:type <http://www.bioclipse.net/structuredb/#Molecule>:
<extension point="net.bioclipse.rdf.rdf2bioobjectfactory">
<Factory
instance="net.bioclipse.rdf.ui.RDFToCDKMoleculeFactory"
uri="http://www.bioclipse.net/structuredb/#Molecule" >
</Factory>
</extension>
The API for this factory looks like:
public IBioObject rdfToBioObject( Model model, Resource res );
public ImageDescriptor getImageDescriptor();
This is very much tied into the Jena data model, so not entirely clean, but has to do for now. The first method converts RDF content into a Bioclipse IBioObject, such as an IMolecule (see this
list of currently supported objects). The second method returns an icon, which makes the editor more visually pleasing, and provides a nice way to see when you can double click the RDF node to have it open in an domain specific editor:
For example, double clicking the
ron:mol2 node, would open up a JChemPaint editor.