|
R2MLIntegration
Integration of the REWERSE Rule Markup Language (R2ML)R2ML is a comprehensive and user-friendly XML rule format that allows
The goal of the R2ML subproject is to provide an import module that is able to map R2ML derivation rules into take. Hence the REWERSE Working Group I1 has developed several tools for transformation between different rule systems, it is straightforward to import many other rule formats into take. So far its done...Currently supported are the basic rule concepts of derivation rules from R2ML version 0.4. Inbetween there is a new R2ML version (0.5) available. There has been no testing with R2ML 0.5. Features not supported are rules other than derivation rules. Hence take is a derivation rule system it is not able to handle other rule flavours. The R2MLAdapter was build to use it in combination with the URML/R2ML modeling tool Strelka. All R2ML-artefacts generated by Strelka are also supported by the R2MLAdapter. The following atoms are supported by the adapter:
Main classes of the R2MLAdapterThe main classes of the R2MLAdapter are the R2MLKnowledgeSource and the R2MLDriver. The R2MLKnowledgeSource is an implementation of the KnowledgeSource interface similar to the ScriptKnowledgeSource. The R2MLDriver can be used directly but it is strongly recommended to use the KnowledgeSource implementation. The R2MLKnowledgeSource accepts xml inputstreams containing R2ML markup. The output is a take knowledge base. Hence R2ML has no concepts to describe queries queries are generated by the QueryGenerator a class that generates a query for all supported Predicates with different in-out-signatures. Datatypes used by R2ML are mapped by a DatatypeMapper to Java classes. The DefaultDatatypeMapper already supports mapping of XMLSchema-datatypes to the respective Java-classes. It is straightforward to build customized query generators and datatype mappers and to pass them to the R2MLKnowledgeSource. |