WSMO4J
| Navigation: Main Page | Members | Meetings |
WSMO4J is an API and a reference implementation for building Semantic Web Services applications compliant with WSMO.
Contents |
Mission
The STI WSMO4J group is an internal STI working group whose mission is to coordinate STI contributions to WSMO4J and to foster its further development and enhancement.
Tasks
NOTE: These tasks are now tracked via the sourceforge tracker [1] Please use the tracker for current updates and task monitoring.
In Progress
WSML 0.3 compliance
Implementation of d16.1 v0.3 http://www.wsmo.org/TR/d16/d16.1/v0.3/
- Object Model
Update the object model to reflect the current specification. Apart from the class hierarchies, changes may also include elimination of interfaces and usage of classes. With respect to the hierarchy, the main changes should occur in those classes related to annotations, and in the datatypes and terms. This part should also include code-reviewing.
Priority: 1 Deadline: open Dependency: none Status: Ongoing Responsible: Al, Mick, Martin, James
- Parser update
Update the parser with the new grammar and object model and test it.
Priority: 1 Deadline: open Dependency: SableCC grammar, Object Model Status: Ongoing Responsible: Martin
- Identifiers and Datatypes
Handling the small issues concerning datatypes and identifiers (anonymous, local, etc.) from d16.1 v0.3 changelog. These issues include changing the use of anonymous identifiers, adding new datatype XMLLiteral and changing existing datatypes. The existing WSML datatype shortcuts (e.g. _integer) should be deprecated and instead provide direct support for XSD datatypes as advised in [2].
Priority: 1 Deadline: open Dependency: Object Model Status: Ongoing Responsible: Nathalie
- OWL Parser and Serialiser
Update the OWL parser according to the latest specification [3]. The normalisation-related classes (in WSML2Reasoner) should also be somehow refactored/repackaged so that they can be easily used in both wsmo4j and WSML2Reasoner.
Priority: 2 Deadline: open Dependency: SableCC grammar, object model, parser Status: Open Responsible: Nathalie, Barry
- XML Parser and Seraliser
Update the XML parser according to the latest specification [4].
Priority: 2 Deadline: open Dependency: SableCC grammar, object model, parser Status: Open Responsible: Ioan (tentative)
- Validator
Update the validator to validate the new WSML 0.3
Priority: 2 Deadline: open Dependency: SableCC grammar, object model, parser Status: Open Responsible: Nathalie
- Converter
Implement a possibility to parse wsml 0.21 and convert it to wsml 0.3
Priority: 2 Deadline: open Dependency: SableCC grammar, object model, parser Status: Open Responsible: Nathalie
- Adding new WSML-DL surface syntax
Adding the WSML-DL surface syntax that will be introduced in the new WSML specification (ready by latest on Thursday 7th November). Also focus on roundtripping possibility (parsing and serializing alternative syntax)
Priority: 3 Deadline: open Dependency: specification of new alternative WSML-DL syntax (responsible: Nathalie) Dependency: SableCC grammar Status: starting Responsible: Nathalie
Main trunk
- Relation handling
Fix the handling of relations (Archive email-list wsmo4j-discuss)
Priority: 1 Deadline: Open Dependency: Clarification with wsmo4j-discussion-list - Done Status: Ongoing Responsible: Nathalie
- OWL Ontology Wrapper
Implement sort of a wrapper for OWL ontologies that allow tools e.g. to use only one interface for all ontologies.
Priority: 2 Deadline: Open Dependency: Clarification with wsmo4j-discussion-list - Open Status: Open Responsible: Nathalie, Mick
- Packaging
Splitting WSMO4J in more independent packages (e.g. for data representation, the validator, parsers, serializers). This would have the advantage that packages are not depending on each other and can be used independently in the case of need.
Priority: 1-2 Deadline: Open Dependency: Clarification with wsmo4j-discussion-list - Ongoing Status: Ongoing Responsible: Nathalie
- Add OWL DL serializer to WSMO4J
Move the OWL DL serializer from WSML2Reasoner to WSMO4J and add it to the Serializer package.
Priority: 3 Deadline: Open Dependency: Packaging needed Dependency: Clarification with wsmo4j-discussion-list - Open Status: Open Responsible: Nathalie
- OWL/WSML conversion
Write new OWL import in WSMO4J, with special focus on roundtripping with existing OWL export (eg. use annotations to distinguish relations/attributes vs datatype/object-properties).
Priority: 1 Deadline: Open Dependency: Clarification with wsmo4j-discussion-list - Open Status: Ongoing Responsible: Andreas Frankl, Bachelor student supervised by Nathalie
Future (or on hold)
- Exception refactoring
Refactor exceptions (Wsmo4j Feature Request).
Priority: 1 Deadline: open Status: open Responsible: Mick
- Parser
Implementation of a faster parser, with fault handling
Priority: 2 Deadline: open Status: open Responsible: Bachelor student, to be found
- Validator
Add validation informations, use error codes (Wsmo4j Feature Request), add quick fix library.
Priority: 3 Deadline: open Status: open Responsible: open
- DataValue issue
Fixing the DataValue implementations in WSMO4J
Priority: 2 Deadline: open Status: open Responsible: open
- Internal ID of anonymous identifier
We could inroduce an internal number as ID for anonymous identifiers, instead of the java object identifier. This feature makes only sense after the introduction of a WSMO4J document model (see Sourceforge feature request.
Priority: 3 Deadline: open Status: open Responsible: open
- IRI / Instance issue
According to the WSML specification, the value of an AttributeValueMolecule is a Term (e.g. Identifier, DataValue, Variable). The implementation in WSMO4J does not stick with this behaviour:
When retrieving the value from an AttributeValue, you get a Value, what means that you either get an Instance or a DataValue.
The actual implementation is more high level, as it looks up what the Term is referencing and returns e.g. the referenced instance instead of a simple IRI. The issue is that we need to check if we want to stick with this or if we want to implement the behaviour in WSMO4J as it is specified in the WSML specification and thus let it return a Term, resp. an IRI. This would have the disadvantage, that e.g. an application could not make direct use of the instance but would have to look up on itself what the IRI is referencing.
Priority: 5 Deadline: open Status: open Responsible: open
- Document model
Development and implementation of a WSML Document model (referring to Archive email-list wsmo4j-discuss).
Priority: 2 Deadline: open Dependency: parser changes needed Status: open Responsible: Nathalie, Mick
- Event model
Add an event model that offers the possibility for observers/applications to track changes in the Document model.
Priority: 3 Deadline: open Dependency: Document Model Status: open Responsible: Martin
- Workspaces
Development and implementation of a workspace model
Priority: 2 Deadline: open Responsible: Al
- Proxies
Remove proxies where possible; the use of proxies could be reduced to cases, where you don't know what an entity actually is, as e.g.:
- metamodelling cases.
- mediator sources / targets.
Some concrete issues with proxies are the following:
- unify the createXXX() and the getXXX() to one getXXX() method. This method should return a real object: either returning a reference to an existing XXX or creating a new one.
- Problems with SynchronisationException (see Synchronization Exception after parsing
Priority: 2 Deadline: open Status: open Responsible: open
- WSMO4J and WSML2Reasoner alignment
Make a tighter integration with the WSMLReasoner. Possible changes:
- Create Reasoner from Factory, by e.g. adding a method like org.wsml.reasoner.api.WSMLReasoner createReasoner(Map params) to the Factory (see Sourceforge Feature Request).
- Use a predicate store instead of HashMaps for storing entities.
Priority: 5 Deadline: open Status: open Responsible: open, tentative Nathalie
- Fixing WSMO4P
Fixing the implementation of WSMO4P.
Priority: 3 Deadline: open Status: Responsible: open
Completed
- Migration to Java 5
Migrate WSMO4J to Java 5. Implemented by Mick
- SableCC Grammar file update
Update the SableCC grammar file of WSML to reflect the new specification. Some few issues are outstanding, including, (1) renaming of sqnames to compact_iris and allowing only one value for an NFP.
Priority: 1 Deadline: 1st April 2008 Dependency: none Status: Ongoing Responsible: James
- Choreography issue
Remove all choreography syntaxes except for the official WSMO Choreography syntax. Other Choreography syntaxes will be referencable by URI. Eventually adapt official choreography implementation to latest WSML grammar and move it from ext to core wsmo4j.
Priority: 2 Date: none Dependency: work in a wsmo4j branch! Status: Ongoing Responsible: James
- Non-Functional Properties
According to the latest WSML specification (v0.3), there is a distinction between annotations and non-functional properties. This is also part of the work related to the object model.
Priority: 1 Deadline: none Dependency: work in a wsmo4j branch! Status: Ongoing Responsible: Ioan, Martin, James
Developer Links
The official website of WSMO4J can be found at http://wsmo4j.sourceforge.net/.
The WSMO4J project is hosted by sourceforge at http://sourceforge.net/projects/wsmo4j. It uses SVN as version control system.
For general work on the main trunk of WSMO4J, please check out the main trunk: https://wsmo4j.svn.sourceforge.net/svnroot/wsmo4j/trunk.
For work on the development of a new WSML 0.3 compliant WSMO4J, please check out the following branch: https://wsmo4j.svn.sourceforge.net/svnroot/wsmo4j/branches/wsml0.3
Important Note:
Before being able to commit new files to the project subversion, you need to do some changes in the subversion configuration file. On Windows you will find the configuration file under the following path: C:\Documents and Settings\<your_user>\Application Data\Subversion
You need to uncomment the row: "enable-auto-props = yes". And add the following lines at the end of the file:
*.java = svn:eol-style=native;svn:mime-type=text/plain *.wsml = svn:eol-style=native;svn:mime-type=text/plain *.xml = svn:eol-style=native;svn:mime-type=text/plain
(for each new file type you may want to add, you need to add a row here)
You need to do these changes in your configuration file before you create or add a new file to your project. Subversion adds properties to your file at the moment you create it, and if you only change the configuration file later, the changes are not taken over to the files already present.
Contact
- nathalie.steinmetz'@'sti2.at