<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Specifying PSOA RuleML/XML 1.03: MYNG-modularized Schemas for the RNC &amp; XSD Validation of XSLT-normalized Data and Knowledge</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Tara</forename><surname>Athan</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Athan Services</orgName>
								<address>
									<settlement>West Lafayette</settlement>
									<region>Indiana</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Harold</forename><surname>Boley</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Faculty of Computer Science</orgName>
								<orgName type="institution">University of New Brunswick</orgName>
								<address>
									<settlement>Fredericton</settlement>
									<region>NB</region>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Rima</forename><surname>Chaudhari</surname></persName>
							<affiliation key="aff3">
								<orgName type="institution">CB Unique Solutions</orgName>
								<address>
									<settlement>West Lafayette</settlement>
									<region>Indiana</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<orgName type="department">DT]boley</orgName>
								<address>
									<settlement>DT</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Specifying PSOA RuleML/XML 1.03: MYNG-modularized Schemas for the RNC &amp; XSD Validation of XSLT-normalized Data and Knowledge</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">2C97E5ACDBFAEEA01DF6FBB4A7EACBE7</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T00:26+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Positional-Slotted Object-Applicative (PSOA) RuleML has been used for graph-relational data and knowledge representation in an executable presentation syntax. In support of interoperation, the XML specifications of Deliberation RuleML Versions 1.02 and 1.03 are extended for Deliberation PSOA RuleML V. 1.03 (PSOA RuleML/XML 1.03). To specify PSOA RuleML's new kinds of atoms (e.g., allowing dependent slots and explicit tuples) and functional expressions, RuleML's MYNG-defined schema system is extended and modified. The PSOAextended modular Relax NG schemas, in Compact syntax (RNC), are transformed to monolithic XSD schemas by application of the Trang Schema Converter, followed by an XSLT postprocessor previously developed for Deliberation RuleML. Validation of a PSOA rulebase instance can thus be performed w.r.t. RNC, XSD, or dual RNC+XSD schemas. The earlier XSLT-based Deliberation RuleML normalizer is likewise extended for PSOA RuleML. As for all of RuleML, a "normalidation" workflow, where rulebases undergo "first normalization, second validation", prevents false negatives on direct validation against the XSD or RNC+XSD schemas.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Advanced AI systems need to be based on both data (e.g., variableless facts) and knowledge (e.g., rules), where knowledge can be engineered by humans and/or learned by machines from data. The data and knowledge representation language Positional-Slotted Object-Applicative (PSOA) RuleML <ref type="bibr">[Bol11,</ref><ref type="bibr" target="#b11">BZ19,</ref><ref type="bibr">Bol18]</ref> as realized by the execution system PSOATransRun <ref type="bibr" target="#b14">[ZB16,</ref><ref type="bibr">Zou18]</ref> has been employed in various graph-relational use cases, including ATC KB [DMA + 19]. 1 For this, PSOA RuleML's (plain-text) presentation syntax has mostly been utilized. However, data and knowledge validation, transformation, interchange, and reuse benefit from serialization (XML) syntaxes as provided by RuleML 2 . A translator from versions of PSOA RuleML/XML to PSOA presentation syntax has established a link in one direction <ref type="bibr" target="#b3">[ARBB12]</ref> 3 .</p><p>The specification of RuleML itself has usually employed both presentation and serialization syntaxes. Of these, RuleML/XML is normatively specified with Relax NG schemas [AB11] while informative XSD schemas are (Trang+XSLT)generated for major languages, called "anchor languages", including hornlog.</p><p>PSOA RuleML Version 1.0 4 was specified with model-theoretic semantics and transformational realizations over an EBNF and -in PSOATransRun -ANTLRdefined presentation syntax, also initializing the XML syntax. Moreover, the specification of RuleML starting with Version 1.02 5 permits the definition of semantic styles, including predefined styles 6 , one of which being for Horn-PSOA Tarski 7 .</p><p>In general, a RuleML logic is considered as a (syntactic) language paired with a (semantic) style <ref type="bibr">[Bol16]</ref> 8 . The PSOA RuleML page thus specifies syntaxes 9 and semantics 10 . In particular, the PSOA RuleML logic of interest here is the hornlogPSOA language of the PSOA RuleML/XML Version 1.03 family paired with the semantic style Horn-PSOA Tarski.</p><p>PSOA RuleML/XML Version 1.03 is specified on the RuleML website 11 -carrying through the sketch in <ref type="bibr">[Bol15]</ref>, Section 6 -and described in the current paper. PSOA RuleML/XML 1.03 extends the XML specifications of Deliberation RuleML Versions 1.02 (released) and 1.03 (ongoing). PSOA RuleML's extended "psoa atoms" (e.g., allowing dependent slots and explicit tuples) lead to extensions of Deliberation PSOA RuleML/XML Version 1.03 (relative to Deliberation RuleML/XML Version 1.03) focused on new modules that define the new PSOA features (dependent slots and explicit tuples) and modifications of the modules that define serialization-sensitive named patterns 12 for atoms and functional expressions. From there, because of the modular structure of the Relax NG schemas, the PSOA-schema extensions are applied to the rest of the syntac-tic structures, including to queries and rules, whenever the new PSOA modules are included in the governing driver schema. Existing RuleML languages, whose drivers do not include the PSOA modules, are not affected by these extensions. This paper describes the current prerelease of PSOA RuleML/XML 1.03<ref type="foot" target="#foot_0">13</ref> as a major addition to RuleML's open-source repository:</p><p>-PSOA-enabling changes are made to the existing named patterns in the Relax NG schema modules that define the content models of atoms (Node: Atom) and functional expressions (Nodes: Expr and Plex). -Four completely new modules are introduced in order to define new elements: the element slotdep (to complement existing slot), edge elements tup and tupdep, as well as a Node element, Tuple. -New anchor languages for PSOA's existing collection<ref type="foot" target="#foot_1">14</ref> , as previewed in the left branch of Fig. <ref type="figure">1</ref> (which will be explained in Section 5.4):</p><formula xml:id="formula_0">• datalogPSOA • hornlogPSOA • naffologeqPSOA</formula><p>Next, following this introduction, the paper will give PSOA/XML examples (Section 2). Then, complete instance documents will be exposed in the sequence of "first validation, second normalization"<ref type="foot" target="#foot_2">15</ref> (Section 3). After the preceding two sections' presentation of the "what", the subsequent four sections will proceed to the "how". To provide context, the existing RuleML V. 1.03 schema methodology will be reviewed (Section 4). Then, PSOA changes to the schema system will be explained (Section 5). Continuing the expository sequence, PSOA changes to the normalizer will be discussed (Section 6). Shifting perspective to the level of supporting infrastructure, configuration and test scripts will be discussed (Section 7). The paper will conclude with hints for future work (Section 8). Finally, online validation (Appendix A) and normalization (Appendix B) will be demonstrated.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">PSOA RuleML Examples</head><p>Examples will be given in a "relaxed" XML serialization (containing and merging both "compact" and "normalized" serializations as well as adding positional freedom), where aligned XML comments will show the corresponding presentation syntax.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Examples with Dependent Slots</head><p>Dependent slots as discussed in <ref type="bibr" target="#b11">[BZ19]</ref> are employed for making slot names unambiguous by interpreting them under the perspective of a predicate. A use case for dependent slots and other PSOA RuleML features is explained in [DMA + 19].</p><p>Fig. <ref type="figure">1</ref>. Hasse diagram for a subset of the RuleML language semilattice with infimum corresponding to the Datalog language (anchor datalog min) and suprema corresponding to the PSOA language (anchor naffologeqPSOA) and the non-PSOA language (anchor naffologeq). All of the vertices of the depicted semilattice are identified by their myng-codes. The myng-code for Datalog is shown in its entirety, while for other vertices only the components that differ from their nearest sublanguage are shown.</p><p>Dependent-Slotted Fact (Reduced to its Atom) Example S1. Purchase record with dependent slots. An OID transaction200 is typed by the predicate purchase, which is applied to three purchase-dependent slots. A slot name like item is thus disambiguated to be the item-of-the-purchase. Because this atom is oidful, slotted, and dependent, according to the metamodel of <ref type="bibr" target="#b11">[BZ19]</ref> it is an example of a pairpoint.</p><formula xml:id="formula_1">&lt;Atom&gt; &lt;oid&gt;&lt;Ind&gt;transaction200&lt;/Ind&gt;&lt;/oid&gt; &lt;!--transaction200# --&gt; &lt;op&gt;&lt;Rel&gt;purchase&lt;/Rel&gt;&lt;/op&gt; &lt;!-- purchase( --&gt; &lt;slotdep&gt;&lt;Ind&gt;buyer&lt;/Ind&gt;&lt;Ind&gt;John&lt;/Ind&gt;&lt;/slotdep&gt; &lt;!-- buyer+&gt;John --&gt; &lt;slotdep&gt;&lt;Ind&gt;seller&lt;/Ind&gt;&lt;Ind&gt;Mary&lt;/Ind&gt;&lt;/slotdep&gt; &lt;!-- seller+&gt;Mary --&gt; &lt;slotdep&gt;&lt;Ind&gt;item&lt;/Ind&gt;&lt;Ind&gt;Fido&lt;/Ind&gt;&lt;/slotdep&gt; &lt;!-- item+&gt;Fido) --&gt; &lt;/Atom&gt;</formula><p>Dependent-Slotted Rule Example S2. Liability rule based on purchase record. An independent-slotted version of this was introduced elsewhere 16 . The slot name item changes its dependence from the predicate purchase (item-of-the-purchase) in the condition to the predicate liability (item-of-the-liability) in the conclusion. The slot filler-variable b moves from slot name buyer in the condition to slot name bearer in the conclusion. The rule is applicable to the dependent-slotted fact of Example S1, deducing a liability record (conclusion: &lt;then&gt; part) from that purchase record (condition: &lt;if&gt; part), where a fresh liability OID, liabilityID(transaction200), is generated as a functional expression from the purchase OID, transaction200. Example T3. Cyclic-purchase rule based on one or more purchase tuples. The condition (first child of Implies) 18 detects a tuple, anywhere amongst the tuples, for which there also is, again anywhere, an 'inverse' tuple (where the buyer x and seller y are swapped to y and x while the item i is kept the same). A special case of this cyclicity condition is x = y (someone purchasing from themselves). The conclusion (second child of Implies) 18 alerts about such a cyclic purchase by showing the tuple of the involved buyer, seller and item, hence provides more information than the 'falsity' conclusion of a corresponding integrity rule would. The rule is applicable, in two possible ways, to the dependent-tupled fact of Example T1.B, deducing two alert tuples: +[Pedro Amy Tabby] and +[Amy Pedro Tabby].</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Multiple rows (in condition atom):</head><formula xml:id="formula_2">&lt;Forall xmlns="http://ruleml.org/spec"&gt; &lt;Var&gt;x&lt;/Var&gt; &lt;Var&gt;y&lt;/Var&gt; &lt;Var&gt;i&lt;/Var&gt; &lt;Implies&gt; &lt;Atom&gt; &lt;Rel&gt;purchase&lt;/Rel&gt; &lt;!--purchase( --&gt; &lt;tupdep&gt; &lt;!-- +[?x ?y ?i] --&gt; &lt;Tuple&gt; &lt;Var&gt;x&lt;/Var&gt; &lt;Var&gt;y&lt;/Var&gt; &lt;Var&gt;i&lt;/Var&gt; &lt;/Tuple&gt; &lt;/tupdep&gt; &lt;tupdep&gt; &lt;!-- +[?y ?x ?i]) --&gt; &lt;Tuple&gt; &lt;Var&gt;y&lt;/Var&gt; &lt;Var&gt;x&lt;/Var&gt; &lt;Var&gt;i&lt;/Var&gt; &lt;/Tuple&gt; &lt;/tupdep&gt; &lt;/Atom&gt; &lt;Atom&gt; &lt;Rel&gt;cyclic-purchase&lt;/Rel&gt; &lt;!--cyclic-purchase( --&gt; &lt;tupdep&gt; &lt;!-- +[?x ?y ?i]) --&gt; &lt;Tuple&gt; &lt;Var&gt;x&lt;/Var&gt; &lt;Var&gt;y&lt;/Var&gt; &lt;Var&gt;i&lt;/Var&gt; &lt;/Tuple&gt; &lt;/tupdep&gt; &lt;/Atom&gt; &lt;/Implies&gt; &lt;/Forall&gt;</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Validating and Normalizing Instances</head><p>Based on examples of the previous section, the current section discusses characteristic XML processing of instance documents, which for RuleML are rulebases (including facts): their validation w.r.t. schemas and their XML-to-XML transformation (here, normalization).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Instance Validation</head><p>Deliberation RuleML's RNC-&amp; XSD-based validation checks whether instances conform to its RNC-&amp; XSD-schema definition. <ref type="foot" target="#foot_3">19</ref> This has been extended for PSOA RuleML's additional features of dependent slots and explicit tuples, as will be explained in Section 5.</p><p>For example, the dependent-slotted fact in Section 2.1 can be completed to a PSOA RuleML instance document with &lt;RuleML&gt; and &lt;Assert&gt; wrappers:</p><formula xml:id="formula_3">&lt;RuleML xmlns="http://ruleml.org/spec"&gt; &lt;Assert&gt; &lt;Atom&gt; &lt;oid&gt;&lt;Ind&gt;transaction200&lt;/Ind&gt;&lt;/oid&gt; &lt;!--transaction200# --&gt; &lt;op&gt;&lt;Rel&gt;purchase&lt;/Rel&gt;&lt;/op&gt; &lt;!-- purchase( --&gt; &lt;slotdep&gt;&lt;Ind&gt;buyer&lt;/Ind&gt;&lt;Ind&gt;John&lt;/Ind&gt;&lt;/slotdep&gt; &lt;!-- buyer+&gt;John --&gt; . . . &lt;/Atom&gt; &lt;/Assert&gt; &lt;/RuleML&gt;</formula><p>This instance is valid w.r.t. the RNC &amp; XSD schemas. An instance with, e.g., one instead of two &lt;slotdep&gt; children such as &lt;slotdep&gt;&lt;Ind&gt;buyer&lt;/Ind&gt; &lt;/slotdep&gt;, is invalid. Readers are encouraged to try these and other instances online (cf. Appendix A).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Instance Normalization</head><p>Deliberation RuleML's XSLT-based normalizer (see Section 4.3) fills in skipped edges and sorts elements into a canonical order.<ref type="foot" target="#foot_4">20</ref> Again, this has been extended for PSOA RuleML's additional features, as will be explained in Section 6.</p><p>Much of the PSOA RuleML normalizer's functionality can be seen for Example T3 of Section 2.2, which becomes transformed thus: An equivalent normal form is obtained from the various non-normal forms of Example T3, e.g. with only some of the edges skipped. Readers are again encouraged to try these and other instances online (cf. Appendix B).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Schema Methodology</head><p>In this section, we review the RuleML schema methodology that was developed, primarily, for RuleML V. 1.0 [AB11]<ref type="foot" target="#foot_6">22</ref> . In the subsequent Versions 1.01 <ref type="bibr" target="#b1">[AB14]</ref>, 1.02 <ref type="bibr" target="#b2">[ABP15]</ref> and 1.03 23 of Deliberation RuleML, the schema modularization system has been extended and enhanced, while upholding the original design principles. The following subsections described the aspects of RuleML's schema system relevant to the new PSOA/RuleML XML extension, including modularization design principles, and serialization, normalization, initialization, pivotschema, customization, and test-automation methodologies.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Modularization Design Principles</head><p>Beginning with Version 1.0, Deliberation RuleML introduced a modularization approach, based on a restriction of Relax NG [AB11], whereby a RuleML syntax is defined by a set of RNC module inclusions in a driver schema. The restricted Relax NG is monotonic, meaning when two drivers are combined, i.e. by forming the union of the module inclusions in a larger driver, the syntax defined by the larger driver contains both of the smaller syntaxes <ref type="bibr" target="#b1">[AB14]</ref>. Because of this monotonicity property, the more than one hundred Deliberation RuleML schema modules 24 may be freely (orthogonally) combined to define a fine-grained poset lattice of RuleML syntaxes, with a partial order based on syntactic containment.</p><p>As may be seen in the schema snippets in Section 5, the RuleML RNC schema employs element definition conventions consisting of several layers of named patterns, in order to optimize schema extensibility.</p><p>In summary, the main design principles of the RuleML schema modularization system are:</p><p>-Monotonicity -Orthogonality -Extensibility</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Serialization Methodology</head><p>There are four serializations of Deliberation RuleML -normalized, relaxed, mixed, and compact.</p><p>The "normalized" serialization requires all content models to have a canonical ordering of their child elements. For example, the canonical ordering for atoms requires positional arguments to precede slots, should both occur in the same atom. The canonical ordering of the contents of functional expressions is maintained to be identical to that of atoms.</p><p>The "relaxed" serialization allows significantly more positional freedom in content models. It also allows certain edges to be skipped, provided they can be reconstructed unambiguously.</p><p>In general, the RNC patterns for the relaxed serialization content models are similar to that of the corresponding normalized serialization patterns after substitution of the interleave symbol '&amp;' for commas in the definition of sequences. RuleML takes advantage of this convenient RNC mechanism for implementing positional freedom in content models to define the relaxed serialization. However, the interleave pattern cannot be accurately translated into XSD, due to the XSD requirement of deterministic models<ref type="foot" target="#foot_8">25</ref> . The "mixed" serialization (of some language) is constructed to be the greatest subset of the relaxed serialization (of that language) with the most positional freedom that can still be defined within XSD (see Section 4.5).</p><p>The "compact" serialization is similar to the normalized one in that it requires the same canonical ordering of elements. It differs from the normalized one in that it requires all edges skippable in the relaxed serialization to be skipped.</p><p>Elements whose content models have some positional freedom among their children in the relaxed and mixed serializations, including atomic formulas (Atom) and functional expressions (Expr and Plex), have their content models for the four serializations specified in three RNC serialization modules<ref type="foot" target="#foot_9">26</ref> <ref type="foot" target="#foot_10">27</ref> <ref type="foot" target="#foot_11">28</ref> , resp. The main exception to the RuleML schema design principle of orthogonality occurs in regard to serialization: a (valid) driver schema may have only one serialization module inclusion.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Normalization Methodology</head><p>The goals of the RuleML normalizer include the following:</p><p>-Reconstruct all skipped edge tags to produce a fully striped form (since edge tags correspond to Resource Description Framework (RDF) <ref type="bibr">[29]</ref> properties, this simplifies interoperation between RuleML/XML and, e.g., directed labeled RDF graphs) -Perform canonical ordering of sibling elements (this reduces the complexity of equality comparison across RuleML/XML serializations, for both humans and machines)</p><p>We say that using this normalizer followed by schema-based RuleML validation performs "normalidation" on RuleML instances. That is, not only are missing edge elements inserted and sibling elements sorted in the XSLT output, but this transformed instance is subsequently validated syntactically to ensure that Node and edge elements only appear in correct positions, and with permitted content. Normalidation is required when using the XSD schemas for validation of general RuleML instances, because the positional freedom allowed by the relaxed serialization of the Relax NG schemas is beyond the expressivity of XSD. This is to prevent valid instances being deemed as invalid ("false negatives").</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.4">Initialization Methodology</head><p>Another exception to the orthogonality principle is required in order to support the development and implementation of the (otherwise) orthogonal system: the inclusion of the initialization module<ref type="foot" target="#foot_12">29</ref> , containing vacuous (either empty or not allowed) definitions of many named patterns, is required in all (valid) drivers so that named patterns that are used in an included module but defined in an excluded module are never left undefined in the inclusion closure of the driver. In particular, singleton inclusion sets (a driver containing only one module inclusion) are not valid, in general, within the RuleML modularization system. Such drivers become valid upon inclusion of the initialization module, enabling fine-grained validation during development as well as ensuring orthogonality in implementation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.5">Pivot-schema Methodology</head><p>The RNC schemas act as normative "pivot schemas"<ref type="foot" target="#foot_13">30</ref> that define the XSD schemas for Deliberation RuleML languages by translation using Trang<ref type="foot" target="#foot_14">31</ref> followed by XSLT post-processing [AB11]. The XSD schema for the normalized serialization of a Deliberation RuleML language is obtained in a straightforward manner by this translation mechanism. In order to define a 'more relaxed' XSD schema having as much positional freedom in content models as possible, while still remaining deterministic, the 'mixed' serialization is used. The Relax NG for the mixed serialization implements this trade-off through involved regular expressions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.6">Customization Methodology</head><p>In order to manage the large number of RuleML syntaxes generated by the above modularization approach, the Modular sYNtax confiGurator (MYNG) application [Ath11] was developed to provide a unified parameterized RNC schema accessible either directly, using a REST interface implemented in PHP, or through a GUI<ref type="foot" target="#foot_15">32</ref> that exposes the REST interface. The parameters which specify directly the features of the syntax, and indirectly the module inclusion set needed to define those features, are efficiently captured in a string called the "myng-code". The myng-code is partitioned into sets of features called "option facets". Each feature of a facet is assigned a unique bit position, from zero up, where a digit of 1 in that position indicates the feature is selected and 0 otherwise. Although myng-codes are interpreted according to their binary representation, they are expressed and transmitted in hexadecimal for brevity.</p><p>RNC and XSD schemas for RuleML anchor languages are obtained from human-readable URLs via URL redirects to the MYNG PHP engine with the specifying myng-code parameters expressed in the query string. The redirects are implemented through a .htaccess file that is auto-generated by a configuration bash script.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.7">Test-automation Methodology</head><p>RuleML's automated testing procedures include Jing validation of RNC modules and driver schemas, as well as JAXB<ref type="foot" target="#foot_16">33</ref> validation of XSD schemas. Cross-testing of the schemas is carried out by auto-generating XML instances from the XSD schemas and validating them against the RNC schemas.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">PSOA Enhancements of the Schema System</head><p>The modifications necessary to implement the new PSOA/XML syntax, described below, are guided by the structure and principles of the RuleML schema system as reviewed in Section 4. Validation of PSOA RuleML instances against PSOA schemas is illustrated in Appendix A.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Dependent Slots</head><p>The PSOA feature of dependent slots in atoms and functional expressions is implemented, in part, by means of the introduction into the modular RNC schema system of one new module <ref type="foot" target="#foot_17">34</ref> .</p><p>The new module defining the dependent slot element is essentially identical to the existing module defining the independent slot element<ref type="foot" target="#foot_18">35</ref> after substitution of slotdep for most occurrences of slot. An RNC snippet of the module is shown below. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Explicit Tuples</head><p>The PSOA feature of explicit tuples in atoms and functional expressions is partially implemented in the modular RNC schema system by means of the introduction of three new modules<ref type="foot" target="#foot_19">36</ref> <ref type="foot" target="#foot_20">37</ref> <ref type="foot" target="#foot_21">38</ref> . RNC snippets from these modules are shown below.</p><p>From tuple expansion module.rnc Tuple-node.choice |= Tuple.Node.def ## The children of a generalized list (tuple) are divided into two sections, ## a header section for modifiers, and a main section for the list arguments. Tuple.Node.def = ## A collection of (ordered) arguments (optionally enclosed by &lt;arg&gt;) and/or (unordered) user-defined slots (&lt;slot&gt;), ## identical to an uninterpreted expression (&lt;Expr in="no"&gt;) except not having a user-specified function name (equivalent ## to having a system-specified constructor 'Tuple').</p><p>Rest variables (&lt;repo&gt; and &lt;resl&gt;) are also permitted. ... ## within repo element Tuple { Tuple.type.def } Tuple.type.def = Tuple.attlist, Tuple.header, Tuple.main Tuple.attlist &amp;= commonNode.attlist? ## Generalized lists accept the header pattern common to Nodes. Tuple.header &amp;= Node.header? # For the declaration of the Node header, see the modules meta_expansion_module). The tup expansion module.rnc module is similar to that of the already discussed tupdep expansion module.rnc.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">Integration of New Modules with Serializations</head><p>For the canoncial ordering of the normalized serialization, an XML realization of the left-tuple, left-dependent canonical ordering is used that was given in <ref type="bibr" target="#b11">[BZ19]</ref> for the PSOA presentation syntax. One reason for preferring this ordering is that the basic atoms of relationships, which are single-tuple, should be captured such that their arguments do not need to be moved when more descriptors are added.</p><p>The RNC snippet specifying this canonical ordering for PSOA atomic formulas is as follows: In support of the orthogonality principle, the new named patterns introduced for a sequence of dependent slots are initialized (see Section 4.4) as zero-length sequences to accommodate non-PSOA languages having no dependent slots. The RNC snippet from the initialization module that accomplishes this is as follows: The RNC for the relaxed serialization is similar to that of the normalized serialization shown above after substitution of the interleave symbol '&amp;' for commas in the definition of sequences, as described in Section 4.2.</p><p>The XSDs for PSOA RuleML anchor languages are auto-generated as described in Section 4.5.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.4">Integration of New Modules with the MYNG Engine</head><p>The myng-code (specifying Deliberation RuleML syntaxes, see Section 4.6) is extended to accommodate the PSOA/XML features. Three unused bits (binary positions 13 through 15) of the terms option facet are utilized for the features of dependent slots, dependent tuples, and independent tuples, respectively.</p><p>The inclusion of the slotdep expansion module.rnc module in a myngcode-specified driver schema occurs whenever its myng-code (expanded from hexadecimal to binary) has 1 as the binary digit in position 13 (2 13 ) of the terms option facet. Similarly, the tupdep expansion module.rnc and tup expansion module.rnc modules are associated with positions 14 and 15 of this facet. The inclusion of the tuple expansion module.rnc module is required if either tupdep expansion module.rnc or tup expansion module.rnc are included, since both edges are required to contain a Tuple element -thus, it is not an orthogonal feature.</p><p>Consequently, myng-codes for RuleML languages having full PSOA capability have the value 'e' or 'f' in hexadecimal position three (16 3 ) of the terms option facet, e.g. bf-d7-a7-l1-p3cf-i7-tef0f-q1-e3-s4c for hornlogPSOA normal.</p><p>A portion of the PSOA-extended RuleML anchor language semilattice depicting the new PSOA anchor languages and their nearest non-PSOA counterparts is shown in Fig. <ref type="figure">1</ref>. The first row of vertices above the infimum corresponds to additional features of RuleML's datalog and datalogPSOA languages that are not part of textbook Datalog, differing from each other only with respect to the PSOA features (tef0f vs. tf0f) and rest variables (q1 vs. q7). The vertices in the second row above the infimum correspond to the additional feature characteristic of Horn logic, i.e. functional expressions (bf for Expr and e3 for Plex). The third row of vertices above the infimum corresponds to additional features characteristic of First-Order Logic (b3f), as well as weak negation (p3ff), equations (tef3f), and set-valued and interpreted expressions (ef).</p><p>&lt;xsl:with-param name="tag"&gt;arg&lt;/xsl:with-param&gt; &lt;/xsl:call-template&gt; &lt;/xsl:template&gt;</p><p>The normalizer is further modified to canonically order slots and tuples in atoms as follows.</p><p>&lt;xsl:template match="ruleml:Atom" mode="phase-2"&gt; &lt;xsl:copy&gt; ... &lt;xsl:apply-templates select="ruleml:oid" mode="phase-2"/&gt; ... &lt;xsl:apply-templates select="ruleml:op" mode="phase-2"/&gt; ... &lt;xsl:apply-templates select="ruleml:tupdep" mode="phase-2"/&gt; &lt;xsl:apply-templates select="ruleml:tup" mode="phase-2"/&gt; ... &lt;xsl:apply-templates select="ruleml:slotdep" mode="phase-2"/&gt; &lt;xsl:apply-templates select="ruleml:slot" mode="phase-2"/&gt; ... &lt;/xsl:copy&gt; &lt;/xsl:template&gt;</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Scripts for Configuration and Testing</head><p>Updates and improvements have been made to RuleML's bash scripts<ref type="foot" target="#foot_23">40</ref> for (anchor-language) configuration and (XSD-schema) testing.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.1">Updates to Configuration Scripts</head><p>The modified configuration text files used by the configuration scripts (in bash) implement the URL redirects for the new PSOA anchor languages. In the configuration file snippet below, the second and third columns contain the facet portion of the myng-code for the normalized and relaxed serializations, respectively, for the anchor language stem in the first column.</p><formula xml:id="formula_4">datalogPSOA b07-d7-a7-l1-p3cf-i07-tef0f-q1-e0-s4c b07-d7-a7-l1-p3cf-i07-tef0f-q1-e0-s4f hornlogPSOA b0f-d7-a7-l1-p3cf-i07-tef0f-q1-e3-s4c b0f-d7-a7-l1-p3cf-i07-tef0f-q1-e3-s4f naffologeqPSOA b3f-d7-a7-l1-p3ff-i7f-tef3f-q1-ef-s4c b3f-d7-a7-l1-p3ff-i7f-tef3f-q1-ef-s4f</formula><p>For example, execution of the configuration bash script will add a redirect to the .htaccess file that redirects a request for http://deliberation.ruleml.org/ 1.03-psoa/relaxng/hornlogPSOA_normal.rnc to http://deliberation.ruleml. org/1.03-psoa/relaxng/myng-b0f-d7-a7-l1-p3cf-i07-tef0f-q1-e3-s4c.rnc Similar redirects have been implemented for XSD schemas and simplified RNC schemas.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.2">Improvements to the Suite of Test Scripts</head><p>Among other tests, RuleML testing procedures have always performed JAXB validation of XSD schemas. However, upon detailed examination of the output from JAXB validation of RuleML XSD schemas during the development of the PSOA extension, it has been determined that only the schemas for the normalized serialization produce effective Java classes, even though the JAXB validation of the mixed serialization XSD schemas do not generate validation errors. Therefore, the test scripts have been modified to perform JAXB validation only on the XSD schemas for the normalized serialization. The mixed serialization XSD schemas are instead validated manually using Xerces<ref type="foot" target="#foot_24">41</ref> .</p><p>In the PSOA relaxed serializations, it is allowed to reverse the canonical order of slotdep with slot or tupdep with tup. However, this aspect of positional freedom is not allowed in the mixed serialization (the most permissive serialization used in the XSD schemas, see Section 4.2). Therefore, the extended test suite applies the XSLT normalizer to the RNC test suites, which include such instances in the relaxed serialization.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="8">Conclusions and Future Work</head><p>In conclusion, this paper connects PSOA RuleML work based on its presentation syntax with Deliberation RuleML work based on its serialization syntax. The paper describes the prerelease of PSOA RuleML/XML 1.03 for the representation and processing of data (facts) and knowledge (rules). Deliberation RuleML's syntactic definition via a MYNG-defined schema system, as developed in V. 1.0 and enhanced in subsequent versions through V. 1.03, is further extended and modified to accommodate PSOA RuleML. The focus is on the validation as well as normalization of rulebases utilizing the new PSOA features of dependent slots and explicit tuples.</p><p>Future work<ref type="foot" target="#foot_25">42</ref> encompasses the completion of the PSOA RuleML/XML 1.03 release <ref type="foot" target="#foot_26">43</ref> . This includes syntactic completion, e.g. by incorporating XML elements for Subclass ('##'), which was already used in other RuleML languages, e.g. for SWSL, and Equal ('='), which was already used in several Deliberation RuleML languages, e.g. in hornlogeq.</p><p>Conversely, while OIDs, e.g. for functional expressions, already are optional only, they could be entirely prohibited for expressions in a hornlogPSOA-restricting anchor language that defines a more precise, Expr-oidless and Plexless syntax for the semantic style Horn-PSOA Tarski realized by PSOATransRun.</p><p>Similarly, while the "extended PSOA" introduced in [Bol15], Section 6, allowing a "positional rest" within a tuple, has been adopted from Deliberation RuleML's schemas as an option by PSOA RuleML V. 1.03, it could be entirely prohibited in "pure PSOA" (anchor) languages.</p><p>Moreover, in a merged Deliberation PSOA RuleML, a PSOA-derived semantic style for built-in "slotribution" <ref type="bibr">[Bol11]</ref> could be alternated with a Deliberationderived semantic style for an explicit "rest of slots" <ref type="bibr">[Bol15]</ref>.</p><p>Completion of the release also includes technical completion, e.g.:</p><p>-Update the MYNG GUI (in Javascript) to accommodate PSOA features that are already implemented in the MYNG PHP engine.</p><p>-Extend for PSOA the V. 1.03 compact serialization and associated transformer (compactifier).</p><p>-Automate the PSOA validation of mixed-serialization XSD schemas.</p><p>-Implement PSOA features as syntactic options within the RuleML Holog syntax. This is particularly important for restoring a single supremum to the Deliberation RuleML syntactic structure in a release merging Deliberation RuleML V. 1.03 and PSOA RuleML V. 1.03.</p><p>As the abstract inverse of the translator from PSOA RuleML/XML to PSOA presentation syntax <ref type="bibr" target="#b3">[ARBB12]</ref>, a translator from PSOA presentation syntax to PSOA RuleML/XML should be written. This could be layered on PSOATrans-Run's ANTLR-based parser for PSOA presentation syntax into Abstract Syntax Trees (ASTs) <ref type="bibr" target="#b15">[ZPPBR12]</ref>, adding an AST tree walker that generates PSOA RuleML/XML.</p><p>The results of the current work on PSOA-extended Deliberation RuleML should be transferred to Reaction RuleML and Consumer RuleML <ref type="bibr" target="#b2">[ABP15]</ref>, which could then target a further developed PSOA Prova <ref type="bibr" target="#b13">[GBP18]</ref> engine. Support for (PSOA) RuleML/XML editing, validation, and transformation could be enhanced through the development of plugins or frameworks in professional tools, e.g. the Oxygen XML Editor suite<ref type="foot" target="#foot_27">44</ref> , which is aware of Relax NG as well as XSD.</p><p>Strengthening an early connection, it would be interesting to compare PSOA RuleML logics with N3Logic [BLCK + 08], building, e.g., on the PhD work of Gen Zou [Zou18], Chapter 6, and of Dörthe Arndt <ref type="bibr" target="#b4">[ASDRV19]</ref> as well as work by the W3C Notation 3 (N3) Community Group 45 . This can lead to the definition of a new RuleML logic customized for a revised N3.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>slotdep-edge.choice |= slotdep.edge.def slotdep.edge.def = ## A user-defined dependent slot (dependent property)... element slotdep { slotdep.type.def } slotdep.type.def = (slotdep-datt.choice &amp; reslotdep.attlist), slotdep.content ... ## The slotdep content model consists of a key (first position) and a filler (second position). slotdep.content |= slotdepKeyTerm.choice, slotdepFillerTerm.choice ## The key (first position) in a slotdep contains an interpreted term or data, which may be simple or compound. slotdepKeyTerm.choice |= SimpleKeyTerm.choice | CompoundTerm.choice . . . ## The filler (second position) in a slotdep contains any single term. slotdepFillerTerm.choice |= AnyTerm.choice . . . edge.choice |= slotdep.edge.def ...</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>#</head><label></label><figDesc># The main section of an atomic formula contains an operator edge and a collection of argument edges. ## Prefix operator notation for atomic formulas is required in the normalized serialization. Atom.main |= operatorForAtoms-edge.choice, argumentsForAtoms.sequence ## Slotted arguments follow positional arguments in atomic formulas ## in the normalized serialization. argumentsForAtoms.sequence |= (positionalArgumentsForAtoms.sequence | tuplesForAtoms.sequence), slotsForAtoms.sequence ## Positional rest arguments follow the ordinary positional arguments ## in atomic formulas in the normalized serialization. positionalArgumentsForAtoms.sequence |= termsForAtoms.sequence, restOfPositionalArguments-edge.choice? ...</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head></head><label></label><figDesc>slotdepTermsForAtoms.sequence |= empty slotdepTermsForExpressions.sequence |= empty</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>Example T2. Liability rule based on single purchase tuple at a time. This was introduced elsewhere 17 . The rule is applicable to the dependent-tupled facts of Example T1, deducing a liability tuple for each of A's and B's purchase tuples.</figDesc><table><row><cell cols="5">&lt;then&gt; B. Multiple tuples represent multiple rows. Because this atom is oidless, multiple-&lt;!--liabilityID(?t)#liability(bearer+&gt;?b item+&gt;?i) --&gt; &lt;formula&gt;</cell></row><row><cell cols="5">&lt;Atom&gt; tupled, and dependent, according to the metamodel of [BZ19] it is a general case &lt;Implies&gt;</cell></row><row><cell cols="4">&lt;oid&gt; of what is referred to by systematic name de1. &lt;if&gt;</cell></row><row><cell cols="2">&lt;Expr&gt; &lt;Atom&gt;</cell><cell></cell><cell></cell></row><row><cell cols="5">&lt;op&gt;&lt;Fun&gt;liabilityID&lt;/Fun&gt;&lt;/op&gt; &lt;!--Explicit tuples (added in Deliberation PSOA RuleML) --&gt; &lt;Rel&gt;purchase&lt;/Rel&gt; &lt;!--purchase(+[?b ?s ?i]) --&gt;</cell></row><row><cell>&lt;Atom&gt;</cell><cell cols="3">&lt;arg index="1"&gt;&lt;Var&gt;t&lt;/Var&gt;&lt;/arg&gt; &lt;tupdep&gt;</cell></row><row><cell cols="4">&lt;/Expr&gt; &lt;Rel&gt;purchase&lt;/Rel&gt; &lt;!--purchase( &lt;Tuple&gt;</cell><cell>--&gt;</cell></row><row><cell>&lt;tupdep&gt;</cell><cell cols="2">&lt;/oid&gt; &lt;Var&gt;b&lt;/Var&gt; &lt;!--</cell><cell>+[John Mary Fido]</cell><cell>--&gt;</cell></row><row><cell cols="4">&lt;op&gt;&lt;Rel&gt;liability&lt;/Rel&gt;&lt;/op&gt; &lt;Tuple&gt; &lt;Var&gt;s&lt;/Var&gt;</cell></row><row><cell cols="5">&lt;slotdep&gt;&lt;Ind&gt;bearer&lt;/Ind&gt;&lt;Var&gt;b&lt;/Var&gt;&lt;/slotdep&gt; &lt;Ind&gt;John&lt;/Ind&gt; &lt;Var&gt;i&lt;/Var&gt;</cell></row><row><cell cols="4">&lt;slotdep&gt;&lt;Ind&gt;item&lt;/Ind&gt;&lt;Var&gt;i&lt;/Var&gt;&lt;/slotdep&gt; &lt;Ind&gt;Mary&lt;/Ind&gt; &lt;/Tuple&gt;</cell></row><row><cell cols="2">&lt;/Atom&gt; &lt;Ind&gt;Fido&lt;/Ind&gt; &lt;/tupdep&gt;</cell><cell></cell><cell></cell></row><row><cell cols="2">&lt;/then&gt; &lt;/Tuple&gt; &lt;/Atom&gt;</cell><cell></cell><cell></cell></row><row><cell cols="2">&lt;/Implies&gt; &lt;/tupdep&gt; &lt;/if&gt;</cell><cell></cell><cell></cell></row><row><cell cols="2">&lt;/formula&gt; &lt;tupdep&gt; &lt;then&gt;</cell><cell>&lt;!--</cell><cell cols="2">+[Pedro Amy Tabby] --&gt;</cell></row><row><cell cols="2">&lt;/Forall&gt; &lt;Tuple&gt; &lt;Atom&gt;</cell><cell></cell><cell></cell></row><row><cell cols="3">&lt;Ind&gt;Pedro&lt;/Ind&gt; &lt;Rel&gt;liability&lt;/Rel&gt;</cell><cell cols="2">&lt;!--liability(+[?b ?i]) --&gt;</cell></row><row><cell cols="4">&lt;Ind&gt;Amy&lt;/Ind&gt; &lt;tupdep&gt; 2.2 Examples with Explicit Dependent Tuples &lt;Ind&gt;Tabby&lt;/Ind&gt; &lt;Tuple&gt;</cell></row><row><cell cols="5">&lt;/Tuple&gt; While single (predicate-)dependent tuples are widespread, multiple dependent &lt;Var&gt;b&lt;/Var&gt; &lt;/tupdep&gt; &lt;Var&gt;i&lt;/Var&gt; tuples as discussed in [Bol11,BZ19] are novel. While a single tuple can be implicit &lt;tupdep&gt; &lt;!--+[Mary John Coco] --&gt; &lt;/Tuple&gt; in its positional argument sequence, multiple tuples must be explicit to separate &lt;Tuple&gt; &lt;/tupdep&gt; their argument sequences. &lt;Ind&gt;Mary&lt;/Ind&gt; &lt;/Atom&gt;</cell></row><row><cell cols="2">&lt;Ind&gt;John&lt;/Ind&gt; &lt;/then&gt;</cell><cell></cell><cell></cell></row><row><cell cols="4">Dependent-Tupled Facts (Reduced to their Atoms) &lt;Ind&gt;Coco&lt;/Ind&gt; &lt;/Implies&gt;</cell></row><row><cell cols="5">&lt;/Tuple&gt; &lt;/formula&gt; Example T1. Purchase tables with A. single and B. multiple rows. &lt;/tupdep&gt; &lt;/Forall&gt;</cell></row><row><cell cols="5">A. Single tuple represents single row. Because this atom is oidless, single-tupled, &lt;tupdep&gt; &lt;!--+[Amy Pedro Tabby]) --&gt;</cell></row><row><cell cols="5">and dependent, according to the metamodel of [BZ19] it is an example of a &lt;Tuple&gt;</cell></row><row><cell cols="5">relationship and a special case of what is referred to by systematic name de1. &lt;Ind&gt;Amy&lt;/Ind&gt;</cell></row><row><cell cols="2">&lt;Ind&gt;Pedro&lt;/Ind&gt;</cell><cell></cell><cell></cell></row><row><cell cols="4">&lt;!--Implicit tuple (already in Deliberation RuleML) --&gt; &lt;Ind&gt;Tabby&lt;/Ind&gt;</cell></row><row><cell cols="2">&lt;Forall&gt; &lt;Atom&gt; &lt;/Tuple&gt;</cell><cell></cell><cell></cell></row><row><cell cols="4">&lt;Var&gt;b&lt;/Var&gt; &lt;Rel&gt;purchase&lt;/Rel&gt; &lt;!--purchase(John Mary Fido) --&gt; &lt;/tupdep&gt;</cell></row><row><cell cols="2">&lt;Var&gt;s&lt;/Var&gt; &lt;Ind&gt;John&lt;/Ind&gt; &lt;/Atom&gt;</cell><cell></cell><cell></cell></row><row><cell cols="2">&lt;Var&gt;i&lt;/Var&gt; &lt;Ind&gt;Mary&lt;/Ind&gt;</cell><cell></cell><cell></cell></row><row><cell cols="2">&lt;Var&gt;t&lt;/Var&gt; &lt;Ind&gt;Fido&lt;/Ind&gt;</cell><cell></cell><cell></cell></row><row><cell cols="3">&lt;formula&gt; &lt;/Atom&gt; Dependent-Tupled Rules</cell><cell></cell></row><row><cell cols="5">&lt;Implies&gt; &lt;if&gt; &lt;!--Explicit tuple (added in Deliberation PSOA RuleML) --&gt; &lt;!--?t#purchase(buyer+&gt;?b seller+&gt;?s item+&gt;?i) --&gt; &lt;Atom&gt; &lt;Atom&gt; &lt;Rel&gt;purchase&lt;/Rel&gt; &lt;!--purchase(+[John Mary Fido]) --&gt; &lt;oid&gt;&lt;Var&gt;t&lt;/Var&gt;&lt;/oid&gt; &lt;op&gt;&lt;Rel&gt;purchase&lt;/Rel&gt;&lt;/op&gt; &lt;tupdep&gt; Single row: &lt;Tuple&gt; &lt;slotdep&gt;&lt;Ind&gt;buyer&lt;/Ind&gt;&lt;Var&gt;b&lt;/Var&gt;&lt;/slotdep&gt; &lt;slotdep&gt;&lt;Ind&gt;seller&lt;/Ind&gt;&lt;Var&gt;s&lt;/Var&gt;&lt;/slotdep&gt; &lt;slotdep&gt;&lt;Ind&gt;item&lt;/Ind&gt;&lt;Var&gt;i&lt;/Var&gt;&lt;/slotdep&gt; &lt;/Atom&gt; &lt;/if&gt; &lt;Ind&gt;John&lt;/Ind&gt; &lt;Forall&gt; &lt;Ind&gt;Mary&lt;/Ind&gt; &lt;Var&gt;b&lt;/Var&gt; &lt;Ind&gt;Fido&lt;/Ind&gt; &lt;Var&gt;s&lt;/Var&gt; &lt;/Tuple&gt; &lt;/tupdep&gt; &lt;Var&gt;i&lt;/Var&gt;</cell></row><row><cell>&lt;/Atom&gt;</cell><cell></cell><cell></cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>From tupdep expansion module.rnc ## In atomic formulas, zero or more tupdep are allowed. tupdepTerms.nonemptysequence.choice |= tupdep-edge.choice+ tupdepTerms.sequence |= tupdepTerms.nonemptysequence.choice? tupdepTermsForAtoms.sequence |= tupdepTerms.sequence ## In expressions, zero or more tupdep are allowed. tupdepTermsForExpressions.sequence |= tupdepTerms.sequence ## an extension point for specializations of the tupdep tag name. tupdep-edge.choice |= tupdep.edge.def tupdep.edge.def = ## A user-defined tupdep (property)... element tupdep { tupdep.type.def } tupdep.type.def = tupdep.attlist? &amp; tupdep.content ## The tupdep content model consists of a Tuple. tupdep.content |= Tuple-node.choice . . . tupdep.attlist &amp;= commonInit.attlist?</figDesc><table><row><cell>## A generalized list within a positional rest variable</cell></row><row><cell>contains a positional argument sequence</cell></row><row><cell>Tuple.main |= positionalArgumentsForAtoms.sequence</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="13" xml:id="foot_0">https://github.com/RuleML/deliberation-ruleml/tree/1.03-psoa</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="14" xml:id="foot_1">http://deliberation.ruleml.org/1.03-psoa/relaxng/#anchor</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="15" xml:id="foot_2">This sequence is inverse to the "normalidation" workflow of "first normalization, second validation", which will be explained in Section 4.3.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="19" xml:id="foot_3">http://wiki.ruleml.org/index.php/Specification_of_Deliberation_RuleML_ 1.03#Appendix_3:_Validating_a_RuleML_Instance_Against_a_Relax_NG_Schema</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="20" xml:id="foot_4">http://wiki.ruleml.org/index.php/Specification_of_Deliberation_RuleML_ 1.03#XSLT-Based_Normalizer</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="21" xml:id="foot_5">We reproduce the original output of our current XSLT normalizer, which preserves input tags, e.g. &lt;tupdep&gt;, and creates new tags, e.g. &lt;ruleml:if&gt;, with the prefix ruleml. The normalizer adds a namespace declaration xmlns:ruleml="http://ruleml.org/spec" to new tags when needed.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="22" xml:id="foot_6">http://deliberation.ruleml.org/1.0/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="23" xml:id="foot_7">http://deliberation.ruleml.org/1.03/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="25" xml:id="foot_8">http://books.xmlschemata.org/relaxng/relax-CHP-16-SECT-2.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="26" xml:id="foot_9">Normalized and compact: http://deliberation.ruleml.org/1.03/relaxng/ modules/ordered_groups_expansion_module.rnc</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="27" xml:id="foot_10">Relaxed: http://deliberation.ruleml.org/1.03/relaxng/modules/unordered_ groups_expansion_module.rnc</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="28" xml:id="foot_11">Mixed: http://deliberation.ruleml.org/1.03/relaxng/modules/unordered_ deterministic_groups_expansion_module.rnc</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="29" xml:id="foot_12">http://deliberation.ruleml.org/1.03/relaxng/modules/init_expansion_ module.rnc</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="30" xml:id="foot_13">http://books.xmlschemata.org/relaxng/relax-CHP-1-SECT-6.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="31" xml:id="foot_14">https://relaxng.org/jclark/trang.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="32" xml:id="foot_15">http://deliberation.ruleml.org/1.03/myng</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="33" xml:id="foot_16">https://github.com/eclipse-ee4j/jaxb-ri</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="34" xml:id="foot_17">http://deliberation.ruleml.org/1.03-psoa/relaxng/modules/slotdep_ expansion_module.rnc</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="35" xml:id="foot_18">http://deliberation.ruleml.org/1.03-psoa/relaxng/modules/slot_ expansion_module.rnc</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="36" xml:id="foot_19">http://deliberation.ruleml.org/1.03-psoa/relaxng/modules/tuple_ expansion_module.rnc</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="37" xml:id="foot_20">http://deliberation.ruleml.org/1.03-psoa/relaxng/modules/tupdep_ expansion_module.rnc</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="38" xml:id="foot_21">http://deliberation.ruleml.org/1.03-psoa/relaxng/modules/tup_expansion_ module.rnc</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="39" xml:id="foot_22">http://deliberation.ruleml.org/1.03-psoa/xslt/normalizer/normalizer. xslt</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="40" xml:id="foot_23">https://github.com/RuleML/deliberation-ruleml/blob/1.03-psoa/bash</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="41" xml:id="foot_24">https://xerces.apache.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="42" xml:id="foot_25">Also see the PSOATransRun work overlap: http://wiki.ruleml.org/index.php/ PSOATransRun_Development_Agenda</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="43" xml:id="foot_26">See here for keeping track of the release: http://wiki.ruleml.org/index.php/ Timeline_of_Deliberation_RuleML_1.03-psoa</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="44" xml:id="foot_27">https://www.oxygenxml.com</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The following PHP snippet shows the modifications to the MYNG engine which implement the extension of the myng-code for PSOA features. </p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Design and Implementation of Highly Modular Schemas for XML: Customization of RuleML in Relax NG</title>
		<author>
			<persName><forename type="first">Tara</forename><forename type="middle">;</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Athan</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Harold</forename><surname>Boley</surname></persName>
		</author>
		<ptr target="https://relaxng.org/compact-tutorial-20030326.html#id2814516" />
	</analytic>
	<monogr>
		<title level="m">Rule-Based Modeling and Computing on the Semantic Web, Proc. 5th International Symposium (RuleML-2011 America)</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Frank</forename><surname>Olken</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Monica</forename><surname>Palmirani</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Davide</forename><surname>Sottara</surname></persName>
		</editor>
		<meeting><address><addrLine>Ft. Lauderdale, FL, Florida, USA; November</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2011">7018. 2011</date>
			<biblScope unit="page" from="17" to="32" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">The MYNG 1.01 Suite for Deliberation RuleML 1.01: Taming the Language Lattice</title>
		<author>
			<persName><forename type="first">Tara</forename><surname>Athan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Harold</forename><surname>Boley</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the RuleML 2014 Challenge, at the 8th International Web Rule Symposium</title>
				<editor>
			<persName><forename type="first">Theodore</forename><surname>Patkos</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Adam</forename><surname>Wyner</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Adrian</forename><surname>Giurca</surname></persName>
		</editor>
		<meeting>the RuleML 2014 Challenge, at the 8th International Web Rule Symposium</meeting>
		<imprint>
			<publisher>CEUR</publisher>
			<date type="published" when="1211-08">1211. August 2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">RuleML 1.02: Deliberation, Reaction, and Consumer Families</title>
		<author>
			<persName><forename type="first">Tara</forename><surname>Athan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Harold</forename><surname>Boley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Adrian</forename><surname>Paschke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the RuleML2015 Challenge, at the 9th International Symposium on Rules. CEUR</title>
				<meeting>the RuleML2015 Challenge, at the 9th International Symposium on Rules. CEUR</meeting>
		<imprint>
			<date type="published" when="2015-08">August 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">PSOA RuleML API: A Tool for Processing Abstract and Concrete Syntaxes</title>
		<author>
			<persName><forename type="first">Mohammad</forename><surname>Sadnan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Al</forename><surname>Manir</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexandre</forename><surname>Riazanov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Harold</forename><surname>Boley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Christopher</forename><forename type="middle">J O</forename><surname>Baker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Rules on the Web: Research and Applications, Proc. 6th International Symposium, RuleML 2012</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Antonis</forename><surname>Bikakis</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Adrian</forename><surname>Giurca</surname></persName>
		</editor>
		<meeting><address><addrLine>Montpellier, France</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012-08">August 2012</date>
			<biblScope unit="volume">7438</biblScope>
			<biblScope unit="page" from="280" to="288" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Implicit Quantification Made Explicit: How to Interpret Blank Nodes and Universal Variables in Notation3 Logic</title>
		<author>
			<persName><forename type="first">Dörthe</forename><surname>Arndt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Tom</forename><surname>Schrijvers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jos</forename><surname>De Roo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ruben</forename><surname>Verborgh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Semantics</title>
		<imprint>
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Myng: Validation with ruleml 1.0 parameterized relax ng schemas</title>
		<author>
			<persName><forename type="first">Ath11</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Tara</forename><surname>Athan</surname></persName>
		</author>
		<ptr target=".org" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 5th International RuleML2011@BRF Challenge, co-located with the 5th International Rule Symposium</title>
				<meeting>the 5th International RuleML2011@BRF Challenge, co-located with the 5th International Rule Symposium</meeting>
		<imprint>
			<publisher>CEUR-WS</publisher>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">N3Logic: A Logical Framework for the World Wide Web</title>
		<author>
			<persName><forename type="first">Tim</forename><surname>Blck + ;</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Dan</forename><surname>Berners-Lee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lalana</forename><surname>Connolly</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Yosi</forename><surname>Kagal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jim</forename><surname>Scharf</surname></persName>
		</author>
		<author>
			<persName><surname>Hendler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Theory and Practice of Logic Programming</title>
				<imprint>
			<date type="published" when="2008-05">May 2008</date>
			<biblScope unit="volume">8</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A RIF-Style Semantics for RuleML-Integrated Positional-Slotted, Object-Applicative Rules</title>
		<author>
			<persName><forename type="middle">Harold</forename><surname>Bol11</surname></persName>
		</author>
		<author>
			<persName><surname>Boley</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 5th International Symposium on Rules: Research Based and Industry Focused (RuleML-2011 Europe)</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting>5th International Symposium on Rules: Research Based and Industry Focused (RuleML-2011 Europe)<address><addrLine>Barcelona, Spain</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2011-07">July 2011</date>
			<biblScope unit="page" from="194" to="211" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">PSOA RuleML: Integrated Object-Relational Data and Rules</title>
		<author>
			<persName><forename type="middle">Harold</forename><surname>Bol15</surname></persName>
		</author>
		<author>
			<persName><surname>Boley</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Reasoning Web. Web Logic Rules (RuleML 2015) -11th Int&apos;l Summer School 2015</title>
		<title level="s">Tutorial Lectures</title>
		<editor>
			<persName><forename type="first">Wolfgang</forename><surname>Faber</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Adrian</forename><surname>Paschke</surname></persName>
		</editor>
		<meeting><address><addrLine>Berlin, Germany</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2015-08-04">July 31-August 4, 2015. 9203. 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">The RuleML Knowledge-Interoperation Hub</title>
		<author>
			<persName><forename type="middle">Harold</forename><surname>Bol16</surname></persName>
		</author>
		<author>
			<persName><surname>Boley</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Rule Technologies. Research, Tools, and Applications -10th International Symposium, RuleML 2016</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Dumitru</forename><surname>Roman</surname></persName>
		</editor>
		<meeting><address><addrLine>Stony Brook, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016">July 6-9, 2016. 9718. 2016</date>
			<biblScope unit="page" from="19" to="33" />
		</imprint>
	</monogr>
	<note>Proceedings</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">PSOA RuleML Explained with Blockchain Examples: Grailog Visualizations</title>
		<author>
			<persName><forename type="middle">Harold</forename><surname>Bol18</surname></persName>
		</author>
		<author>
			<persName><surname>Boley</surname></persName>
		</author>
		<ptr target="http://fsvg.math.ntua.gr/rulesworkshop.html" />
	</analytic>
	<monogr>
		<title level="m">Keynote of Workshop on Rules: Logic and Applications</title>
				<imprint>
			<date type="published" when="2018-12-20">19-20 December 2018. December 2018</date>
		</imprint>
		<respStmt>
			<orgName>National Technical University of Athens (NTUA)</orgName>
		</respStmt>
	</monogr>
	<note>Herbrand Models, and PSOATransRun Queries</note>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Perspectival Knowledge in PSOA RuleML: Representation, Model Theory, and Translation</title>
		<author>
			<persName><forename type="first">Harold</forename><surname>Boley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Gen</forename><surname>Zou</surname></persName>
		</author>
		<idno>CoRR, abs/1712.02869</idno>
		<imprint>
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Aligning, Interoperating, and Co-executing Air Traffic Control Rules Across PSOA RuleML and IDP</title>
		<author>
			<persName><forename type="first">Theodoros</forename><surname>Dma + ; Marjolein Deryck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sofia</forename><surname>Mitsikas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Petros</forename><surname>Almpani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Panayiotis</forename><surname>Stefaneas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Iakovos</forename><surname>Frangos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Harold</forename><surname>Ouranos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Joost</forename><surname>Boley</surname></persName>
		</author>
		<author>
			<persName><surname>Vennekens</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Rules and Reasoning -Third International Joint Conference, RuleML+RR 2019</title>
		<title level="s">Proceedings, Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Bolzano, Italy</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2019">September 16-19, 2019. 2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">PSOA Prova: PSOA Translation of Pure Production Rules to the Prova Engine</title>
		<author>
			<persName><forename type="first">Lukas</forename><surname>Grätz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Harold</forename><surname>Boley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Adrian</forename><surname>Paschke</surname></persName>
		</author>
		<ptr target="WS.org" />
	</analytic>
	<monogr>
		<title level="m">Proc. Doctoral Consortium and Challenge, 2nd International Joint Conference on Rules and Reasoning (RuleML+RR)</title>
		<title level="s">CEUR Workshop Proceedings. CEUR-</title>
		<editor>
			<persName><forename type="first">Wolfgang</forename><surname>Faber</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Paul</forename><surname>Fodor</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Giovanni</forename><forename type="middle">De</forename><surname>Gasperis</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Adrian</forename><surname>Giurca</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Kia</forename><surname>Teymourian</surname></persName>
		</editor>
		<meeting>Doctoral Consortium and Challenge, 2nd International Joint Conference on Rules and Reasoning (RuleML+RR)<address><addrLine>Luxembourg</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2018">Sept. 20-26. 2204. 2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Minimal Objectification and Maximal Unnesting in PSOA RuleML</title>
		<author>
			<persName><forename type="first">Gen</forename><surname>Zou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Harold</forename><surname>Boley</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Rule Technologies. Research, Tools, and Applications -10th International Symposium, RuleML 2016</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Gen</forename><surname>Zou</surname></persName>
		</editor>
		<meeting><address><addrLine>Stony Brook, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016-04">July 6-9, 2016. 9718. 2016. April 2018</date>
			<biblScope unit="page" from="130" to="147" />
		</imprint>
		<respStmt>
			<orgName>Faculty of Computer Science, University of New Brunswick</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
	<note>. Translators for Interoperating and Porting Object-Relational Knowledge</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">PSOA2TPTP: A Reference Translator for Interoperating PSOA RuleML with TPTP Reasoners</title>
		<author>
			<persName><forename type="first">Gen</forename><surname>Zou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Reuben</forename><surname>Peter-Paul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Harold</forename><surname>Boley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexandre</forename><surname>Riazanov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Rules on the Web: Research and Applications, Proc. 6th International Symposium, RuleML 2012</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">Antonis</forename><surname>Bikakis</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Adrian</forename><surname>Giurca</surname></persName>
		</editor>
		<meeting><address><addrLine>Montpellier, France</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012-08">August 2012</date>
			<biblScope unit="volume">7438</biblScope>
			<biblScope unit="page" from="264" to="279" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">A Validating a PSOA Instance against an RNC Schema The tool Validator.nu 46 can be used to validate a PSOA RuleML/XML instance against</title>
		<ptr target="http://services.w3.org/xslt?xslfile=http%3A%2F%2Fdeliberation.ruleml.org%2F1.03-psoa%2Fxslt%2Fnormalizer%2Fnormalizer.xslt&amp;xmlfile=http%3A%2F%2Fdeliberation.ruleml.org%2F1.03-psoa%2Fexa%2FDatalogPSOA%2Fcyclic-purchasePSOA.ruleml&amp;content-type=&amp;debug=on&amp;submit=transform" />
	</analytic>
	<monogr>
		<title level="m">Text Field -Paste: instance from Section 3</title>
				<imprint/>
	</monogr>
	<note>a Relax NG (RNC) schema, as explained generally for RuleML 1.03 47. .1 (elided content from Section 2.1) Schemas -Paste. a PSOA Instance via an XSLT Stylesheet The tool Online XSLT 2.0 Service 48 can be used to normalize a PSOA RuleML/ XML instance via an XSLT stylesheet, as explained generally for RuleML 1.03 49 . E.g.: URI for xsl resource. Clicking the transform button generates the result 50 , which contains the normalized serialization of a complete rulebase (expanded from Section 3.2) including the fact Example T1.B and the rule Example T3 in Section 2.2. 46</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
