<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="http://www.ruleml.org/homepage.xsl" type="text/xsl"?>

<!-- Written by Jie Li -->

<homepage>

	<title>ChemXelem Use Case</title>

	<opening>
		<center>
			<br/>
<!--			<a href="http://www.ruleml.org"><img src="http://www.ruleml.org/logo/rulemllogo2_transparent.gif" border="none" alt="RuleML"/></a>
-->
			<br/>
			<h1>RuleML Use Case ChemXelem<br/>
				<i>The Periodic System of the Elements</i>
			</h1>
			<h2>Jie Li, Harold Boley, Marcel Ball, David Hirtle
			</h2>
			<h4>Version History, 2005-08-12: First Version-Version 0.4
			</h4><br/>
			<h2>Version History, 2005-09-13: Current Version
			</h2>
		</center>
		<br/>
		
		<p>The Periodic System of the Elements is a use case of RuleML knowledge bases generated from a non-XML source. The Chemical XML Elements (ChemXelem) knowledge base contains information about all chemical atoms, about their grouping into tables, as well as various derived information about them.
 </p>
	</opening>
	
	
	<section>
		<header>Overview</header>
		<p>The Chemical XML Elements (ChemXelem) use case is the result of generating RuleML 0.89 from Relfun. ChemXelem is realized in three steps. First, the Relfun source in Prolog syntax is modified to obtain a version translatable into the current first-order RuleML 0.89. Second, after automatically relationalizing it within Relfun, an RFML (Relational-Functional Markup Language) version is obtained via Relfun's "style xml" option (XML version 1). Third, a RuleML version of the knowledge base is generated by automatic transformation via an XSLT Stylesheet (XML version 2). The validated RuleML result is then fed into the Java-based RuleML implementation of Object-Oriented jDREW BU to obtain all facts (and specialized rules) that can be derived bottom-up. The Periodic System of the Elements thus is a major use case of RuleML knowledge bases generated from a non-XML source and running in OO jDREW.</p>
	</section>
	
	<section>
		<header>ChemXelem Input in Relfun Syntax</header>
                <p>The original Relfun file (below) included higher-order features which had to be replaced.  This allows the ChemXelem RuleML generated later to be
                parsed by the OO jDREW reasoning engine.</p>
                 <itemize>
                   <item>Original Elements: <a href="http://www.dfki.uni-kl.de/~vega/relfun+/elements.rfp.html">elements.rfp</a></item>
                   <item>Modified Elements: <a href="index/chemxelem.rfp">chemxelem.rfp</a></item>
                </itemize>
	</section>
	
	<section>
		<header>RFML Version of ChemXelem</header>
		<p>The RFML version of ChemXelem (below) is generated from the <a href="index/chemxelem.rfp">chemxelem.rfp</a> source
		by following these steps:</p>
		<enumerate>
		<item>Copy &amp; paste into the <a href="http://www.dfki.uni-kl.de/~vega/relfun-cgi/cgi-bin/rfi.cgi">RELFUN interpreter</a></item>
		<item>Issue the commands:<br/>
		   <code><![CDATA[
    relationalize
    sx (Style XML)
    listing]]></code>
		   </item>
		   <item>Copy &amp; paste (View | Page Source) into the new <a href="index/chemxelem.rfml">chemxelem.rfml</a></item>
		   </enumerate>
	</section>
	<section>
		<header>XSLT Stylesheet</header>
                 <p>The Relfun syntax is converted into RuleML using the <a href="index/rfml2ruleml089.xslt">rfml2ruleml089.xslt</a> stylesheet which has been
                 adapted from an <a href="http://www.relfun.org/ruleml/rfml2ruleml.xsl">earlier stylesheet</a> for mapping a Hornlog RFML program into an older version
                 of a RuleML rulebase. The new stylesheet is designed to map RFML into RuleML 0.89.</p>
	</section>
<section>
		<header>RuleML/POSL Version of ChemXelem</header>
		<p>The resulting chemxelem.ruleml (below) is valid w.r.t. the <a href="http://www.ruleml.org/0.89/xsd/hornlogeq.xsd">
Hornlog with equality</a> sublanguage.</p>
                 <itemize>
                   <item>ChemXelem in RuleML: <a href="index/chemxelem.ruleml">chemxelem.ruleml</a></item>
                   <item>ChemXelem in POSL: <a href="index/chemxelem.posl">chemxelem.posl</a></item>
                </itemize>
	</section>
	
	<section>
		<header>OO jDREW Execution</header>
                 <p>The RuleML facts and rules can be executed bottom-up with the 
                 <a href="http://www.jdrew.org/oojdrew/">OO jDREW BU Engine</a>.</p>
		<itemize>
                   <item>Output in RuleML: <a href="index/output.ruleml">output.ruleml</a></item>
                   <item>Output in POSL: <a href="index/output.posl">output.posl</a></item>
                </itemize>
	</section>
		
	<closing>
		<p>
		Site Contact:
		<a href="http://www.cs.unb.ca/~boley/">Harold Boley</a>.
		Page Version: 2005-09-13
		
		<br/>
		<br/>
		<br/>
		<a name="Practice-Preach"/>
		<small>"Practice what you preach": XML source of this homepage at <a href="index.xml">index.xml</a>;
	      <br/>
	      transformed to HTML via the adaptation of <a href="http://www.dfki.uni-kl.de/~sintek/">Michael Sintek</a>'s SliML <a href="http://www.w3.org/TR/xslt">XSLT</a> stylesheet at <a href="http://www.dfki.uni-kl.de/~boley/xslt/homepage.xsl">homepage.xsl</a> (View | Page Source)
	   </small>
		</p>
	</closing>
	
</homepage>

