TransOnto is primarily a knowledge transformation and migration system for transferring knowledge between semantic representations.
At the core of TransOnto is a representation of logic constructs as objects of a programming language. Developing a new representation amounts to reading and writing such elementary knowledge fragments from and into persisent stores in this new representation. Complex models are transformed by recursively reading in objects from a store in the source formalism, creating equivalent objects of the target formalism, and then writing them out into the target formalism.
This architecture permits that the transformation between any two formalisms can be performed without having to explicitly define transformations between all possible pairs. The fundamental assumption is that knowledge objects carry no information other than their name (if any) and their relation to other knowledge objects.
As a by-product of the ability of transform knowledge in various representations, TransOnto can also be used to query and infer from representations for which no querying or inference tools exist. Abstract objects interface between TransOnto and external querying and inference tools, registering the formalisms that they can be applied to. Queries and inference problems over unsupported formalisms are handled by first transforming the model into a supported formalism and then applying the tool.
The TransOnto project is not aimed at re-implementing semantic tools but to allow interoperability between them. Representation and reasoning backends are typically implemented as a TransOnto layer translating between existing tools and the TransOnto framework.
The backbone of TransOnto is the Java interfaces that need to be implemented in order to fully support a formalism. Several abstract classes are also provided which provide convenience methods and are meant to be extended into actual implementations. Libraries such as JPL will be used to cross programming language barriers. It is also planned that pipe and temporary file convenience classes will be provided for using tools that do not provide any API or only provide APIs that Java cannot interface with.
The main conversion tool is not included in the current release, but will be released as soon as a sufficient number of modules has been implemented so that is is meaningful to do so.
POWDER is an XML application for representing and transmitting meta-data about abstract resources. The core functionality of a POWDER Processor is applying meta-data to a resource based on the latter's name only. Thus POWDER allows labelling authorites to capture generalizations about the structure of (parts of) web sites and how it corresponds to content.
Although POWDER is an XML application with fully specified operational semantics, its semantics is formally defined in OWL/RDF. More specifically, the formal semantics of POWDER documents is captured as a detailed specification of how to derive from POWDER documents equivalent OWL/RDF documents.
TransOnto includes as an application the Semantic POWDER Processor SemPP, a command-line tool that can be queried with URI and (in the presence of the OWL/RDF transformation of a POWDER document) responds with an RDF desrciption of the corresponding resource.
Usage: sempp <POWDER files> [-f <infile>] [-o <outfile>] [-a] Describe the resources inand write the descriptions in <outfile> At least one POWDER file must be provided. Local files and remote locations can be freely mixed. -f <infile> file with newline-separated list of URIs to be described if this parameter is missing or is -, stdin is used -o <outfile> file where the description will be written if this parameter is missing or is -, stdout is used if file already exists, it will be overwritten -a include attribution information in the output (non-standard behaviour) powderproc -V Print release infromation and exit Can only be combined with -h powderproc -h Print this screen and exit Can only be combined with -V Exit values: 0: normal termination -1: inconsistent or missing command-line parameters -2: missing or ill-formed input -3: internal engine error (most probably a bug)