Version history: | |
2005-11-09 - |
Version 0.9 |
This glossary describes every tag of RuleML as of version 0.9. It will also be updated with more general terms in the future.
<And>
<And>Atom</And>
is equivalent to Atom
.
Attributes: @mapDirection
, @mapClosure
(See: connective module)
<arg>
<Atom>
), i.e. any of the following: <Ind>
, <Data>
, <Var>
, <Skolem>
or <Reify>
.
Attributes: @index
(required)
(See: term module)
<Assert>
<formula>
role) is asserted, making an 'implicit <And>
' assumption. This allows the separation of declarative content from such procedural performatives. <Assert>
corresponds to a <Rulebase>
in RuleML 0.87 (and earlier).
Attributes: @mapDirection
, @mapClosure
(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.
(See: connective module)
@card
<slot>
's cardinality.
(See: slot module)
@closure
(See: connective module)
<Con>
<Rel>
, <Ctor>
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)
<Cterm>
<Ctor>
) 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. For example:
<Cterm> <Ctor>book</Ctor> <Var>title</Var> <Var>author</Var> <Var>table of contents</Var> <Var>chapters</Var> </Cterm>
Attributes: @type
(See: cterm module)
<Ctor>
<Cterm>
). It is optionally surrounded by an operator (<op>
).
Attributes: @uri
(See: cterm module)
<Data>
<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.
(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)
<Equal>
<Nano>
and may be optionally surrounded by a side (<side>
) role. For example, "factorial(0)=1" may be equivalently represented in the following two ways:
<Equal> <Nano> <Fun>fac</Fun> <Data xsi:type="xs:int">0</Data> </Nano> <Data xsi:type="xs:int">1</Data> </Equal>
<Equal> <side> <Nano> <Fun>fac</Fun> <Data xsi:type="xs:int">0</Data> </Nano> </side> <side> <Data xsi:type="xs:int">1</Data> </side> </Equal>
(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)
<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 <Protect>
).
(See: connective module and quantifier module)
<Fun>
<Nano>
. It is optionally surrounded by an operator (<op>
).
Attributes: @uri
(See: equality 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.
(See: connective module)
<Hterm>
<Atom>
and <Cterm>
.
(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
, @kind
(See: connective module)
<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)
<Integrity>
<Integrity> <Neg> <And> <Atom> <Rel>gold</Rel> <Var>object</Var> </Atom> <Atom> <Rel>rusty</Rel> <Var>object</Var> </Atom> </And> </Neg> </Integrity>
Attributes: @closure
, @direction
(See: connective module)
@kind
<Implies>
). Allowed values are "fo", which stands for First-Order (classical) implication (the default), and "lp", which stands for Logic Programming implication.
(See: connective module)
@mapClosure
(See: connective module)
@mapDirection
<Implies>
) inferencing of elements falling within its scope (i.e. all 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)
@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)
<Nano>
<Equal>
) of the form "f(...)" where f is a function name. The function name (<Fun>
) is followed by a sequence of zero or more flat (i.e. non-<Nano>
) arguments (<arg>
), much like complex terms.
(See: equality 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>
, <Ctor>
, etc.).
(See: desc module)
<op>
<Rel>
) of an atom (<Atom>
), a constructor (<Ctor>
) of a complex term (<Cterm>
), a function name (<Fun>
) of a <Nano>
, or a neutralized constant (<Con>
) of a Hilog term (<Hterm>
).
(See: atom module, cterm module, equality module, and holog module)
<Or>
<Or>Atom</Or>
is equivalent to Atom
.
Attributes: @closure
(See: connective module)
<Plex>
<arg>
) and/or (unordered) user-defined slots (<slot>
), identical to a complex term (<Cterm>
) except not having a user-specified constructor (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: cterm module)
<Protect>
<formula>
role) is protected, making an 'implicit <And>
' assumption. This allows the separation of declarative content from such procedural performatives.
Attributes: @mapDirection
, @mapClosure
(See: performative module and FOL RuleML)
<Query>
<formula>
role) is queried, making an 'implicit <And>
' assumption. This allows the separation of declarative content from such procedural performatives.
Attributes: @closure
(See: performative module and FOL RuleML)
<Reify>
(See: term module)
<Rel>
<Atom>
). It is optionally surrounded by an operator (<op>
).
Attributes: @uri
(See: atom module)
<repo>
<Atom>
s, <Cterm>
s and <Plex>
s.
(See: rest module)
<resl>
<Atom>
s, <Cterm>
s and <Plex>
s.
(See: rest module)
<RuleML>
<Assert>
, <Query>
or <Protect>
), making an 'implicitly sequential' assumption.
(See: performative module)
<Set>
t[m -> {v1,...,vk}]
.
(See: frame module, and the SWSL submission to the W3C)
<side>
<Equal>
). This role may contain anything a regular argument (<arg>
) can or a <Nano>
.
(See: equational module)
<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
, @minCard
or @maxCard
(depending on context)
(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
(See: uri module)
<Var>
Attributes: @type
(See: term module)
<warden>
<Integrity>
).
(See: performative module)
<weak>
<Naf>
).
(See: naf module)
@weight
<slot>
's relative weight.
(See: slot module)
Site Contact:
Harold Boley.
Page Version: 2006-05-02
"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)