[Jdrew-all] Roadmap for Open Source OO jDREW Development
Harold.Boley at nrc-cnrc.gc.ca
Wed Jun 22 20:05:14 ADT 2005
Roadmap for Open Source OO jDREW Development Version 2005-06-22
This Roadmap is to assist the Open Source Community emerging around
OO jDREW: Object-Oriented Java Deductive Reasoning Engine for the Web
(http://www.jdrew.org/oojdrew), with further development.
OO jDREW is a reference implementation of Derivation Rules RuleML,
but can be extended for other kinds of RuleML rules, e.g Integrity,
Transformation, and Reaction Rules.
The version numbers try to synchronize OO jDREW with the RuleML XSD
versions (cf. http://www.ruleml.org/spec) for increasingly expressive
sublanguages (http://www.ruleml.org/modularization/#Model), but also
suggest to quickly proceed towards an OO jDREW 1.0.
The first step is implementing more of RuleML 0.89 as OO jDREW 0.89.
Please send your contributions -- ideas, test cases, bug reports, any
other feedback, and code -- to the list jdrew-all at jdrew.org.
Bruce Spencer has started jDREW and sent our general email about this
new (OO) jDREW mailing list, which can be found in the archive here:
If you are new to this Community, please first search for answers to
your questions in the OO jDREW website (http://www.jdrew.org/oojdrew)
and in the archive before asking the list.
Marcel or Colleagues will try to respond as time permits, and Marcel
will start coordinating this development: maball at gmail.com
Harold Boley and Marcel Ball
OO jDREW 0.88 (the 22June05 system)
OO jDREW 0.89
Tag Data vs. Ind indicated in OO jDREW's Term object by a flag
Disambiguate e.g. <Data>abc</Data> vs. <Ind>abc</Ind>
With 'type' attribute (without 'type' attribute: default 'Thing')
Optimize for XSD Datatypes (cf. Builtins)
May want to use XSD datatypes for current OO jDREW built-in
datatypes (Integer <-> xsd:int, String <-> xsd:string, etc.)
E.g. <Reify><Implies>...</Implies></Reify> could be represented as
<Cterm><Ctor>Implies</Ctor>. . .</Cterm>
where ". . ." is recursive transformation of "..."
For atomic formulas
Technique from SCLP and several others: treat e.g.
as if it was positive atom that happens to use
and add integrity rule to make sure that
<Rel>proprietary</Rel> and <Rel>Neg-proprietary</Rel> are
For non-atomic formulas
--> FOL RuleML
Unique symbolic names mostly done for Atom
Represented as a special slot (even for a positional Atom)
Hash table of OID symbols
Uniqueness tests for fact Atoms
Fast lookup for (Query or Implies) body Atoms
Issue in bottom-up (separate facts and rules) vs. top-down
URL values of wid/wref attributes (Webizing)
Plugin rewriting system (in RuleML itself?) for URL normalization
Treatment of Variables and Cterms
Clauses (former rlab, anchoring)
Even symbolic names still need to be implemented for Implies
Rulebases (former rbaselab)
Atoms, being facts (anchoring) and occurring in rules
Skolems in anchored Implies head Atoms should be
(re)instantiated in bottom-up conclusion generation
OO jDREW 0.9
Sublanguage hornlogeq (undirected equality)
Ground equality: Cf. Jing Mei's equality tables
Sublanguage dishornlog (perhaps with 'Near-Horn' Community)
OO jDREW 0.91
Sublanguage folog (perhaps with Marmoset / other FOL Communities)
Subfamily FOL+ (perhaps postpone)
OO jDREW 0.92
Functional RuleML (directed equality): Cf. Relfun
Integrity rules (generalizing SCLP's Mutex)
SWSL (with SWSI Community): Cf. FLORA 2
WRL (with WSMO Community): Jos de Bruin et al.
OO jDREW 0.93
SWRL (with OWL Community):
Cf. Hoolet, Christine Golbreich's and Jing Mei's DL approaches
Complete the SWRL set of Builtins
Fine Validator 0.9 (perhaps as plugin to a future OO jDREW)
minCard and maxCard
<slot mincard="1" maxcard="2"><Set><Data>abc</Data></Set></slot>
succeeds since card="1"
<slot mincard="1" maxcard="2"><Set></Set></slot>
fails since card="0"
Positional-Slotted Input Syntax Parser 0.9
POSL parser using a subset of the forthcoming LR(k) ANTLR grammar
More information about the Jdrew-all