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 oid
s 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)