Version history: |
|
| 2005-11-09 - | Version 0.9 |
2006-08-24 - |
Version 0.91 |
This glossary describes every tag of RuleML as of version 0.91.
<And><And>Atom</And> is equivalent to Atom.
Attributes: @closure
(See: connective module)
<arg><Atom>), i.e. any of the following: <Ind>, <Data>, <Var>, <Skolem> or <Reify> (also <Expr> and <Plex> in non-Datalog sublanguages).
Attributes: @index (required)
(See: term module)
<Assert><formula> role) is asserted, making an 'implicit <Rulebase>' assumption. This allows the separation of declarative content from such procedural performatives.
Attributes: @mapDirection, @mapClosure, @mapMaterial
(See: performative module and FOL RuleML)
<Atom><Rel>) is followed by a sequence of zero or more arguments (<arg>). Optional user-defined slots (<slot>) are also permitted before and/or after the arguments. Rest variables (<repo> and <resl>) are also permitted. For example, "John is the father of Mary":
<Atom> <Rel>father</Rel> <Ind>John</Ind> <slot><Ind>daughter</Ind><Ind>Mary</Ind></slot> </Atom>
Attributes: @closure
(See: atom module and holog module)
<body><Implies>) containing the premise(s), also known as the "antecedent" or "if" part of the rule. Also used as the "antecedent" part of an entailment (<Entails>).
(See: connective module)
@card<slot>'s cardinality.
(See: slot module)
@closure(See: connective module)
<Con><Rel> and <Ind>) of a Hilog term (<Hterm>). It is optionally surrounded by an operator (<op>).
(See: holog module and the SWSL submission to the W3C)
<Data>xsi:type attribute. For example:
<Data xsi:type="xs:dateTime">2002-10-10T17:00:00Z</Data>is valid (according to the dateTime datatype), but the following is not:
<Data xsi:type="xs:dateTime">tomorrow</Data>Note, however, that
<Data>tomorrow</Data> is valid because no built-in datatype is given and that XML is also permissible, e.g.
<Data>
<ex:object>
<ex:id>115897</ex:id>
<ex:owner>John Doe</ex:owner>
</ex:object>
</Data>
(See: term module)
<declare><Var>) declared within a quantifier (<Forall> or <Exists>).
(See: quantifier module)
<degree>(See: atom module) and Fuzzy RuleML
@direction<Implies>) inferencing. It has a neutral default value of "bidirectional". Other allowed values are "forward" and "forward".
(See: connective module)
<Entails><Assert>/<Query> that/whether the sequence of formulas in the first <Rulebase> entails the sequence of formulas in the second, e.g. the first acting as a knowledge base and the second acting as its integrity constraints. For example: ssn.ruleml
(See: connective module)
<Equal><lhs>) or a rhs (<rhs>) role. For example, "factorial(0)=1" may be equivalently represented in the following two ways:
<Equal>
<Expr in="yes">
<Fun>fac</Fun>
<Data xsi:type="xs:int">0</Data>
</Expr>
<Data xsi:type="xs:int">1</Data>
</Equal>
<Equal>
<lhs>
<Expr in="yes">
<Fun>fac</Fun>
<Data xsi:type="xs:int">0</Data>
</Expr>
</lhs>
<rhs>
<Data xsi:type="xs:int">1</Data>
</rhs>
</Equal>
Attributes: @oriented
(See: equality module)
<Equivalent><Implies>). It consists of a pair of (optionally skipped) <torso> roles. For example, "A person owning an object is equivalent to an object belonging to a person":
<Equivalent>
<torso>
<Atom>
<Rel>own</Rel>
<Var>person</Var>
<Var>object</Var>
</Atom>
</torso>
<torso>
<Atom>
<Rel>belongs</Rel>
<Var>object</Var>
<Var>person</Var>
</Atom>
</torso>
</Equivalent>
Attributes: @closure
(See: connective module)
<Exists><Var>), each optionally surrounded by a <declare> role, followed by a logical formula (optionally surrounded by a <formula> role).
(See: quantifier module)
<Expr><Fun>) is followed by a sequence of zero or more arguments (<arg>). Optional user-defined slots (<slot>) are also permitted before and/or after the arguments, just like an atom (<Atom>). Rest variables (<repo> and <resl>) are also permitted. If the attribute @in has value "no", the <Expr> corresponds to a complex term (<Cterm>) in 0.9 and earlier:
<Expr in="no"> <Fun>book</Fun> <Var>title</Var> <Var>author</Var> <Var>table of contents</Var> <Var>chapters</Var> </Expr>On the other hand, if the attribute
@in has value "yes", the <Expr> corresponds to a nano (<Nano>) in 0.9 and earlier.
(See: expr module and Functional Ruleml)
<Forall><Var>), each optionally surrounded by a <declare> role, followed by a logical formula (optionally surrounded by a <formula> role).
(See: quantifier module)
<formula><And>) or disjunctive (<Or>) expression, quantifier (<Forall> or <Exists>), or performative (<Assert>, <Query> or <Retract>).
(See: connective module, performative module and quantifier module)
<Fun><Expr>. It is optionally surrounded by an operator (<op>).
Attributes: @uri, @in (and @val in equality sublanguages)
(See: expr module)
<Get>(See: frame module, and the SWSL submission to the W3C)
<head><Implies>) containing the conclusion, also known as the "consequent" or "then" part of the rule.
Also used as the "consequent" part of an entailment (<Entails>).
(See: connective module)
<Hterm><Atom> and <Expr>.
(See: holog module, and the SWSL submission to the W3C)
<Implies><head>) followed by a premise role (<body>), or, equivalently (since roles constitute unordered elements), a premise role followed by a conclusion role. For example, "The discount for a customer buying a product is 5.0 percent if the customer is premium and the product is regular":
<Implies>
<head>
<Atom>
<Rel>discount</Rel>
<Var>customer</Var>
<Var>product</Var>
<Ind>5.0 percent</Ind>
</Atom>
</head>
<body>
<And>
<Atom>
<Rel>premium</Rel>
<Var>customer</Var>
</Atom>
<Atom>
<Rel>regular</Rel>
<Var>product</Var>
</Atom>
</And>
</body>
</Implies>
Alternatively, the roles may be skipped, in which case the premise comes first followed by the conclusion as suggested by the element name 'Implies' (since the body of a rule implies the head, not vice versa). Using the same example, the order changes:
<Implies>
<And>
<Atom>
<Rel>premium</Rel>
<Var>customer</Var>
</Atom>
<Atom>
<Rel>regular</Rel>
<Var>product</Var>
</Atom>
</And>
<Atom>
<Rel>discount</Rel>
<Var>customer</Var>
<Var>product</Var>
<Ind>5.0 percent</Ind>
</Atom>
</Implies>
Attributes: @closure, @direction, @material
(See: connective module)
@in<Fun>) or an expr (<Expr>) will be interpreted. In equality sublanguages, it has three values "no" (the default), "yes" and "no", while in non-equality sublanguages it can only have the value "no".
(See: expr module and Functional RuleML)
<Ind>(See: term module)
@index<arg>) within a logical atom (<Atom>).
(See: term module)
<InstanceOf>(See: frame module, and the SWSL submission to the W3C)
<lhs><Equal>).
(See: equality module)
@mapClosure(See: connective module)
@mapDirection<Implies>) inferencing of elements falling within its scope (i.e. child elements). See attribute mapping for more details. This attribute has a neutral default value of "bidirectional". Other allowed values are "forward" and "backward".
(See: connective module)
@mapMaterial<Implies>) falling within its scope (i.e. child elements). See attribute mapping for more details. Allowed values are "yes" (the default) and "no".
(See: connective module and Functional RuleML)
@material<Implies>). Allowed values are "yes" (the default) and "no".
(See: connective module)
@maxCard<slot>'s maximum cardinality.
(See: slot module)
@minCard<slot>'s minimum cardinality.
(See: slot module)
<Naf><Atom>) (i.e. "weak" negation or negation as failure). The negated atom may be optionally surrounded by a <weak> role.
(See: naf module)
<Neg><Atom>) (i.e. classical or "strong" negation). The negated atom may be optionally surrounded by a <strong> role.
(See: neg module)
<oid><Ind>, <Rel>, etc.). Note that oids are not required to be unique within a rulebase.
(See: desc module)
<op><Rel>) of an atom (<Atom>), a function name (<Fun>) of a (<Expr>), or a neutralized constant (<Con>) of a Hilog term (<Hterm>).
(See: atom module, expr module and holog module)
<Or><Or>Atom</Or> is equivalent to Atom.
Attributes: @closure
(See: connective module)
@oriented<Equal>) is oriented (directed) or unoriented (symmetric). For example, the (oriented) defining equation home(father-of(John)) = Mexico City appears as follows:
<Equal oriented="yes">
<lhs>
<Expr>
<Fun in="yes">home</Fun>
<Expr>
<Fun in="no">father-of</Fun>
<Ind>John</Ind>
</Expr>
</Expr>
</lhs>
<rhs>
<Ind>Mexico City</Ind>
</rhs>
</Equal>
(See: equality module and Functional RuleML)
<Plex><arg>) and/or (unordered) user-defined slots (<slot>), identical to an uninterpreted expression (<Expr in="no">) except not having a user-specified function name (equivalent to having a system-specified constructor 'Plex'). Rest variables (<repo> and <resl>) are also permitted. For example:
<Plex> <Var>title</Var> <Var>author</Var> <Var>table of contents</Var> <Var>chapters</Var> </Plex>
(See: expr module)
<Query><formula> role) is queried, making an 'implicit <Rulebase>' assumption. This allows the separation of declarative content from such procedural performatives.
Attributes: @closure
(See: performative module and FOL RuleML)
<Reify><Reify><Ind>John Doe</Ind></Reify>
(See: term module)
<Rel><Atom>). It is optionally surrounded by an operator (<op>).
Attributes: @uri
(See: atom module)
<repo><Atom>s, <Expr>s and <Plex>s. Note that <Plex>s are generated, so <repo>s are only available above the Datalog sublanguage.
(See: rest module)
<resl><Atom>s, <Expr>s and <Plex>s. Note that <Plex>s are generated, so <resl>s are only available above the Datalog sublanguage.
(See: rest module)
<Retract><formula> role) is to be deleted, making an 'implicit <Rulebase>' assumption. This allows the separation of declarative content from such procedural performatives. For example, if John no longer likes Mary (after an argument, perhaps) then this fact could be retracted:
<Retract>
<Atom>
<Rel>likes</Rel>
<Ind>John</Ind>
<Ind>Mary</Ind>
</Atom>
</Retract>
Attributes: @mapDirection, @mapClosure, @mapMaterial
(See: performative module and FOL RuleML)
<rhs><Equal>).
(See: equality module)
<Rulebase>ssn.ruleml
Attributes: @mapClosure, @mapDirection and @mapMaterial
(See: connective module)
<RuleML><Assert>, <Query> or <Retract>), making an 'implicitly sequential' assumption.
(See: performative module)
<Set>t[m -> {v1,...,vk}].
(See: frame module, and the SWSL submission to the W3C)
<Signature>t[m => v]
(See: frame module, and the SWSL submission to the W3C)
<Skolem>Attributes: @type
(See: term module, and the Integrating Positional and Slotted Knowledge on the Semantic Web slides)
<slot><slot> <Ind>color</Ind> <Ind>blue</Ind> </slot>
Attributes: @weight, @card (and @minCard/@maxCard in SWSL sublanguages)
(See: slot module)
<SlotProd>(See: frame module, and the SWSL submission to the W3C)
<strong><Neg>).
(See: neg module)
<SubclassOf>(See: frame module, and the SWSL submission to the W3C)
<torso><Equivalent>) combining the asymmetric <head> and <body>.
(See: connective module)
@type(See: term module)
@uri<Ind>, <Rel>, and <Fun> for referring to a URI like for XHTML anchors. On <Ind>s (or <Con>s, in frame sublanguages) within an <oid>, this attribute can also act as a web label.
(See: uri module)
@val<Fun>) is deterministic or non-deterministic. It has two values: "1" (deterministic: exactly one) and "0.." (set-valued: zero or more). For example, the function children(John, Mary) can be interpreted in a set-valued manner using a definition children(John, Mary) = {Jory, Mahn}, so that the application children(John, Mary) returns {Jory, Mahn}:
<Expr> <Fun in="yes" val="0..">children</Fun> <Ind>John</Ind> <Ind>Mary</Ind> </Expr>
(See: equality module and Functional RuleML)
<Var>Attributes: @type
(See: term module)
<weak><Naf>).
(See: naf module)
@weight<slot>'s relative weight.
(See: slot module)
Site Contact:
Harold Boley.
Page Version: 2006-08-24
"Practice what you preach": XML source of this homepage at index.xml (index.xml.txt);
transformed to HTML via the adaptation of Michael Sintek's SliML XSLT stylesheet at homepage.xsl (View | Page Source)