Version history: |
|
| 2005-11-09 - | Version 0.9 |
| 2006-08-24 - | Version 0.91 |
2012-04-03 - |
Version 1.0 |
This glossary describes every tag of RuleML as of version 1.0.
<act><Assert>,
<Query>,
<Retract>
) contained in the top element (<RuleML>)
Attributes: @index
(See: performative module )
<And><And>F</And> is equivalent to F for any formula F, and <And/> is always true.
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 (as pioneered by KQML, which has a similar performative 'tell').
Attributes: @mapDirection, @mapClosure, @mapMaterial
(See: performative module and FOL RuleML)
<Atom><Rel>) is followed by a sequence of zero or more positional arguments (<arg>). Optional user-defined slots (<slot>) are also permitted before and/or after the positional arguments. Rest variables
-- <repo> (positional) and <resl> (slotted) -- are also permitted. For example, one way to formalize "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)
@card<slot>'s cardinality.
(See: slot module)
@closure(See: connective module)
<Const><Rel> and <Ind>) of a Hilog term (<Uniterm>). 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 "backward".
(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><left>) or a right (<right>) 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>
<left>
<Expr in="yes">
<Fun>fac</Fun>
<Data xsi:type="xs:int">0</Data>
</Expr>
</left>
<right>
<Data xsi:type="xs:int">1</Data>
</right>
</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 @per has value "copy", 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
@per has value "value", 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>) formula, quantifier (<Forall> or <Exists>), rulebase <Rulebase>), 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: @iri, @per (and @val in equality sublanguages)
(See: expr module)
<Get>(See: frame module, and the SWSL submission to the W3C)
<if><Implies>) containing the premise(s), also known as the "antecedent" or "head" of the rule.
Also used as the "antecedent" part of an entailment (<Entails>).
(See: connective module)
<Implies><then>) followed by a premise role (<if>), 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>
<if>
<And>
<Atom>
<Rel>premium</Rel>
<Var>customer</Var>
</Atom>
<Atom>
<Rel>regular</Rel>
<Var>product</Var>
</Atom>
</And>
</if>
<then>
<Atom>
<Rel>discount</Rel>
<Var>customer</Var>
<Var>product</Var>
<Ind>5.0 percent</Ind>
</Atom>
</then>
</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 if of a rule
implies the 'then', 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)
<Ind>(See: term module)
@index<arg>) within a logical atom (<Atom>). Also used to specify the position of a performative (see <act>) within the top element (<RuleML>).
(See: term module)
<InstanceOf>(See: frame module, and the SWSL submission to the W3C)
@iri<Ind>, <Rel>, and <Fun> for referring to an IRI like for XHTML anchors. On <Ind>s (or <Const>s, in frame sublanguages) within an <oid>, this attribute can also act as a web label.
(See: iri module)
<left><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)
<meta><Var> or <Rel>.
(See: desc 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)
@node(See: desc module)
<oid>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 (<Const>) of a Hilog term (<Uniterm>).
(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). Allowed values are "no" (unoriented,
the default) and "yes" (oriented). For example, the (oriented) defining equation home(father-of(John)) = Mexico City appears as follows:
<Equal oriented="yes">
<left>
<Expr>
<Fun in="yes">home</Fun>
<Expr>
<Fun in="no">father-of</Fun>
<Ind>John</Ind>
</Expr>
</Expr>
</left>
<right>
<Ind>Mexico City</Ind>
</right>
</Equal>
(See: equality module and Functional RuleML)
@per<Fun>) or an expr (<Expr>) will be interpreted. In equality sublanguages, it has three values "copy" (the default),
"value" and "open", while in non-equality sublanguages it can only have the value
"copy".
(See: expr 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 (as pioneered by KQML, which has a similar performative 'ask').
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: @iri
(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 (as pioneered by KQML, which has a similar performative 'untell'). For example, if John no longer likes
Mary 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)
<right><Equal>).
(See: equality module)
<Rulebase>ssn.ruleml
Attributes: @mapClosure, @mapDirection and @mapMaterial
(See: connective module)
<RuleML><Assert>, <Query> or <Retract>),
optionally wrapped in <act>,
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)
<then><Implies>) containing the conclusion, also known as the "consequent" or "head" of the rule.
Also used as the "consequent" part of an entailment (<Entails>).
(See: connective module)
<torso><Equivalent>) combining the asymmetric <then> and <if>.
(See: connective module)
@type@type.
(See: term module)
<Uniterm><Atom> and <Expr>.
(See: holog module, and the SWSL submission to the W3C)
@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:
Tara Athan.
Page Version: 2012-01-26
"Practice what you preach": XML source of this homepage at index.xml ;
transformed to HTML via the adaptation of Michael Sintek's SliML XSLT stylesheet at homepage.xsl (View | Page Source)