My first concern, in that task, has been sketch out a simple API diagram, toward presentation of ontology data objects. This afternoon, I've developed the following UML class diagram as a baseline model for such an API. This is in using Dia, as installed via the Dia Installer [1] In thumbnail, the diagram appears as following - clicking on the graphic object will result in the display of a full-frame view of the item:
I happen to prefer Apache Jena as the OWL API for this application.
I've also sketched out a few "To Do" items for that application, namely:
- Complete the presentation model -- esssentialy, making JSR286::Resource extensions for modeling of each "first class entity" in the Jena API, then developing one or more presentation models for those Resource objects, as namely would be implemented in a portlet
- Develop an integration for Jena SDB onto the Liferay database model. This might require extension of the Liferay service builder API
- Develop an integration for the ontology data model, onto the Liferay user auth/permissions model. This might require an application, if not a new design of a means for defining access control lists directly onto the ontology data model, then integrating that implementation onto the Liferay user permissions and authorization model. Liferay, itself, would be managing the features of user authentication, in the application
- As a lowest priority item, develop a means for tracking changes within the ontology data model. This might require a definition of a change management service, with corresponding integration onto the Liferay service builder API.
- SPARQL integration
- Develop a SPARQL extension onto the Liferay service builder API
- Develop a presentation model for plain RDF data queried via SPARQL.
- The presentation of the RDF format results of a SPARQL query, when possible, may be informed of additional OWL class and property data, such as would be available via the same SPARQL interface
- Integration of inference engines onto Apache Jena and Liferay
- Inference service API / service builder integration (new)
- Dashboard configuration item? for installation and configuration of a single inference engine, within a containing Liferay web portal application
- Focus on reasoners implementing a DIG interface, as supported in Apache Jena. Referencing:
Simply, I'd thought I should mark those notes out, here, before proceeding. Perhaps those linked resources may be of interest to the reader, as well.
I've thought I might name the project ArgonautKM -- though that, as a software project name, it might seem ambiguous into ArgoUML, as now I notice. The name was inspired by the title of the book, Argonauts of the Western Pacific, a very early work in cultural anthropology. Due to the possible ambiguity with regards to the name of the ArgoUML project, itself, certainly I would wish to choose another name for the project, shortly.
[1] Dia Installer and corresponding dia-installer project at SourceForge.net. See also: Diashapes