The SKOS API is a Java interface and implementation for the W3C Simple Knowledge Organisation System SKOS. For more information about SKOS see here. An implementation of the SKOS API is provided which uses the OWL 2 API, at present you will need to obtain the OWL API seperately from the OWL 2 website. [UPDATE 12-09-2011] The current release of the SKOS API has been deprecated, a new version_3 developer branch is available in the SVN repository that works with the latest OWL API v3.
For more information please contact the user group at skos-dev@googlegroups.com
The SKOS API is open source and is available under the LGPL License
The SKOS API includes the following components:
An API for the major SKOS constructs and an efficient in-memory reference implementation based on the OWL 2 API
Abstract data model for working for SKOS that avoids commitment to any of the concrete syntaxes, such as RDF
RDF/XML parser and writer
OWL/XML parser and writer
OWL Functional Syntax parser and writer
Turtle parser and writer
Support for extending the underlying SKOS data model via the OWL 2 API
Support for integration with reasoners such as Pellet and FaCT++
Range of convenience methods for working with SKOS
This open source software project connects the world of java with TWAIN.TWAIN is an application programming interface standard used to access scanners & digital cameras ... .
This package was developed to scan an image in order to turn it into an *.sff file and then fax it.
How does it work ? What happens ?
1. On loading: jtwain.java loads it's C++ counter part, the library jtwain.dll.
2. jtwain.dll will load "TWAIN_32.DLL" and get a function pointer to the DSM (Data Source Manager) entry point (twain state 2).
3. If loading was successful jtwain.java creates a new thread that calls nstart in jtwain.cpp.
4. Due to the fact that twain is signalling events through the OS-dependent event queues, we need to set up an application window including it's wndProc callback function.
5. After that ninitLib will open the DSM (twain state 3). Now the DSM is ready to handle device specific requests.
6. The native thread is then entering the event loop and calling jtwain.cbhandleGetMessage whenever it receives an event.
7. The twain entry function must be called from within the native thread. In order to do that a command can be initiated from arbitrary java threads by calling ntrigger. This will cause the native thread to call jtwain.cbexecute.
Two commands can be triggered:
1. Select: The DSM will pop up a select dialog and the user can select a data source.
2. Acquire: The data source will pop up a user dialog that allows the user to set various settings and then either scan or cancel the request. Once an image has been acquired by the twain data source as a DIB (Device Independent Bitmap) a BufferedImage object will be created and the DIB data copied to this BufferedImage. The jtwain object informs the ScannerListeners of the new image.