Glossary of Deliberation RuleML 1.02
Authors: Tara Athan, Harold Boley
RuleML Families : Specification of RuleML 1.02
- Prerequisites: None, Level: Semi-formal
Deliberation RuleML : Specification of Deliberation RuleML
- Prerequisites: None, Level: Semi-formal
Primer : Tutorial on RuleML
- Prerequisites: None, Level: Informative
Relax NG Schemas : Machine-readable grammar in the Relax NG language
- Prerequisites: Relax NG, Level: Formal
MYNG : Modular sYNtax confiGurator, a GUI for customizing Relax NG schemas
- Prerequisites: None, Level: Formal
XSD Schemas : Machine-readable schemas in XSD
- Prerequisites: XSD, Level: Formal
Normalizer : Stylesheet for transforming into the normal-form serialization
- Prerequisites: XSLT, Level: Formal
Compactifier : Stylesheet for transforming into the compact serialization
- Prerequisites: XSLT, Level: Formal
Upgrader : Stylesheets for transforming from earlier versions into Version 1.02
- Prerequisites: XSLT, Level: Formal
Examples : Illustrative Instances of the Version 1.02 Language
- Prerequisites: Primer, Level: Informative
Glossary : Definitions of Elements and Attributes
- Prerequisites: Primer, Level: Semi-formal
Content Models : Simplified XML Element and Attribute Definitions
- Prerequisites: Primer, Level: Semi-formal
Schema Docs : Diagrammatic Presentation of Content Models
- Prerequisites: Primer, Level: Semi-formal
Implementations : Implemented RuleML tools
- Prerequisites: None, Level: Informative
This version: deliberation.ruleml.org/1.02/glossary
Latest version: deliberation.ruleml.org/glossary
Version history: | ||||||||||||||
|
This glossary describes every element, attribute and (new in version 1.02) syntactic category of Deliberation RuleML as of version 1.02. The typographic convention is <Element>
for the names of XML elements, @attribute
for XML attributes, and Syntactic Category for non-terminal syntactic categories.
Contents
- 1 <act>
- 2 <And>
- 3 <arg>
- 4 <Assert>
- 5 <Atom>
- 6 Attribute
- 7 Branch Node
- 8 @card
- 9 @closure
- 10 Compound Formula
- 11 Compound Term
- 12 Connective Sentence
- 13 <Const>
- 14 Construct
- 15 <Data>
- 16 <declare>
- 17 <degree>
- 18 @direction
- 19 Edge
- 20 <Entails>
- 21 <Equal>
- 22 <Equivalent>
- 23 <Exists>
- 24 <Expr>
- 25 <Forall>
- 26 <formula>
- 27 Formula
- 28 <Fun>
- 29 Function
- 30 <if>
- 31 <Implies>
- 32 <Ind>
- 33 @index
- 34 @iri
- 35 @key
- 36 @keyref
- 37 Leaf Node
- 38 <left>
- 39 @mapClosure
- 40 @mapDirection
- 41 @mapMaterial
- 42 @material
- 43 <meta>
- 44 Metalogical Node
- 45 <Naf>
- 46 <Neg>
- 47 Node
- 48 @node
- 49 <oid>
- 50 <op>
- 51 <Or>
- 52 @oriented
- 53 @per
- 54 Performative
- 55 Quantified Sentence
- 56 <Plex>
- 57 <Query>
- 58 <Reify>
- 59 <Rel>
- 60 Relation
- 61 <repo>
- 62 <resl>
- 63 <Retract>
- 64 <right>
- 65 <Rulebase>
- 66 <RuleML>
- 67 Simple Formula
- 68 Simple Term
- 69 <Skolem>
- 70 <slot>
- 71 <strong>
- 72 @style
- 73 Term
- 74 <then>
- 75 <torso>
- 76 @type
- 77 <Uniterm>
- 78 @val
- 79 <Var>
- 80 <weak>
- 81 @weight
- 82 References
1 <act>
- Edge used for performatives (e.g.
<Assert>
,<Query>
,<Retract>
) contained in RuleML documents (<RuleML>
) - Attributes:
@index
(required),@key
@keyref
@xml:id
- Examples: authenticate_normal.ruleml ackermann-typecond_normal.ruleml own_expanded.ruleml
- See schema docs. act
2 <And>
- Connective sentence resulting from the application of a variably polyadic conjunction connective to zero or more formulas (called the conjuncts).
- Attributes:
@key
@keyref
@xml:id
@node
@closure
@style
@mapClosure
@mapDirection
@mapMaterial
- Examples: discount.ruleml own.ruleml authenticate.ruleml
- See schema docs. And within Query and And elsewhere
3 <arg>
- Edge with term role filler, used for the positional arguments of a logical atom (
<Atom>
) as well as for the positional arguments of a functional expression (<Expr>
) and a generalized list (<Plex>
). - Attributes:
@index
(required),@key
@keyref
@xml:id
- Examples: own-expanded.ruleml
- See schema docs. arg
4 <Assert>
- Performative specifying that its content (optionally surrounded by
<formula>
role tags) 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')[1]. The assertion may be at the logical level (assertion of a logical formula or rulebase) or at the metalogical level (assertion of an entailment, also called integrity constraint, constructed with<Entails>
). - Attributes:
@key
@keyref
@xml:id
@node
@mapClosure
@mapDirection
@mapMaterial
@style
- Examples: discount.ruleml creator.ruleml own.ruleml authenticate.ruleml ssn.ruleml
- See schema docs. Assert
5 <Atom>
- Simple formula that is a logical atom, i.e. an expression formed from a predicate (or relation) applied to a collection of operands. The relation (
<Rel>
) is followed by a sequence of zero or more positional arguments (<arg>
). Optional slots (<slot>
) are also permitted. Rest variables --<repo>
(positional) and<resl>
(slotted) -- are also permitted. For example, one way to formalize "John is the father of a daughter, Mary, and a son, Bill":
<Atom>
<Rel>is father of</Rel>
<Ind>John</Ind>
<slot><Ind>daughter</Ind><Ind>Mary</Ind></slot>
<slot><Ind>son</Ind><Ind>Bill</Ind></slot>
</Atom>
- Attributes:
@key
@keyref
@xml:id
@node
@closure
@style
- Examples: discount.ruleml own.ruleml creator.ruleml authenticate.ruleml
- See schema docs. Atom
6 Attribute
- Construct determined by a property and a value, where the value is a piece of data.
- A RuleML/XML attribute is an unqualified XML attribute manifestation of an (abstract) RuleML attribute, defined by the RuleML schemas, where the property is indicated by the XML attribute name and the value is indicated by the XML attribute value. There are no qualified XML attributes defined in the RuleML namespace.
- See @card @closure @direction @index @iri @key @keyref @mapClosure @mapDirection @mapMaterial @material @mapMaterial @node @oriented @per @type @val @weight
7 Branch Node
- Node which can contain another Node, i.e., all Nodes that are not Leaf Nodes.
8 @card
- Semantic variant Attribute indicating the cardinality of a
<slot>
. - See schema docs. card
9 @closure
- Attribute indicating how the contained free variables are quantified. Predefined values are "universal" and "existential", while arbitrary quantification operators (e.g. numerical quantification, such as unique existential quantification, "there is one and only one") can be referenced as IRIs.
- See schema docs. closure
10 Compound Formula
- Formula that may contain other formulas.
- Subcategories: Connective Sentence, Quantified Sentence
11 Compound Term
12 Connective Sentence
- Compound formula resulting from the application of a logical connective to zero or more formulas.
- See:
<And>
<Equivalent>
<Implies>
<Neg>
<Or>
13 <Const>
- Simple term for a function, relation, or individual represented as a neutralized constant.
- Attributes:
@key
@keyref
@xml:id
@node
@type
,@iri
- See holog RNC module
14 Construct
- Syntactic entity, either abstract or concrete.
- A RuleML/XML construct is an XML element or attribute defined by the RuleML schemas.
- Subcategories Node, Edge, Attribute, Slot
15 <Data>
- Simple term indicating a fixed character sequence (like XML PCDATA and RDF literals). It may be optionally associated with an XML Schema built-in datatype using the
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. Moreover, (well-formed) XML is permissible, e.g.
<Data>
<ex:object>
<ex:id>115897</ex:id>
<ex:owner>John Doe</ex:owner>
</ex:object>
</Data>
- Attributes:
@xsi:type
@xml:base
- Examples: creator.ruleml authenticate.ruleml
- See schema docs. Data
16 <declare>
- Edge used for variables (
<Var>
) declared within a quantifier (<Forall>
or<Exists>
). - Attributes:
@key
@keyref
@xml:id
- Examples: ackermann-typecond_normal.ruleml
- See schema docs. declare
17 <degree>
- Edge containing a data value indicating an uncertainty value (between 0.0 and 1.0 or qualitatively expressed) of a formula.[2]
- Attributes:
@key
@keyref
@xml:id
- See schema docs. degree
18 @direction
- Semantic variant Attribute indicating the intended inferencing direction of an implication rule (
<Implies>
). Predefined values are "bidirectional", "forward", and "backward". If the syntactic scope of the semantic profile allows the@direction
to be absent, then the semantic profile should specify to which value this corresponds (see Semantic Variant Attributes). - See schema docs. direction
19 Edge
- Construct determined by a role and a Node construct that is a role filler.
- Disjoint from Node, Attribute, and Slot
- A RuleML/XML edge element is an XML element manifestation of an (abstract) RuleML edge, consisting of a role tag pair (<role>, </role>), optionally with attributes, that indicates the role, and the Node element content that indicates the role filler.
- See
<act>
<arg>
<declare>
<degree>
<formula>
<if>
<left>
<meta>
<oid>
<op>
<repo>
<resl>
<right>
<strong>
<then>
<torso>
<weak>
20 <Entails>
- Metalogical Node used to
<Assert>
/<Query>
that/whether the antecedent (<if>
child) entails the formulas in the consequent (<then>
child), e.g. the first acting as a knowledge base and the second acting as its integrity constraints. - Attributes:
@key
@keyref
@xml:id
@node
@style
- Examples: ssn.ruleml
- See schema docs. Entails
21 <Equal>
- Simple formula for an equation containing a left and a right term, each of which may be optionally surrounded by left (
<left>
) or right (<right>
) role tags, resp. For example, "factorial(0)=1" may be equivalently represented in (at least) the following two ways:
- Compact serialization:
<Equal>
<Expr>
<Fun>factorial</Fun>
<Data xsi:type="xs:int">0</Data>
</Expr>
<Data xsi:type="xs:int">1</Data>
</Equal>
- Partially normalized serialization:
<Equal>
<left>
<Expr>
<Fun>factorial</Fun>
<Data xsi:type="xs:int">0</Data>
</Expr>
</left>
<right>
<Data xsi:type="xs:int">1</Data>
<right>
</Equal>
- Attributes:
@key
@keyref
@xml:id
@node
@closure
@style
@oriented
- Examples: ackermann-typecond_normal.ruleml datalogplus_min.ruleml
- See schema docs. Equal
22 <Equivalent>
- Connective sentence resulting from the application of a binary logical connective of equivalence, which is "syntactic sugar" for a pair of conjoined converse implication rules (
<Implies>
). It contains a pair of formulas (optionally surrounded by<torso>
role tags). 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:
@key
@keyref
@xml:id
@node
@closure
@style
@mapClosure
@mapDirection
@mapMaterial
- Examples: ackermann-typecond_normal.ruleml OffshoreHoldingsAnalytics.ruleml
- See schema docs. Equivalent
23 <Exists>
- Quantified sentence resulting from the application of an existential quantifier to a formula, called the body. It contains one or more bound variables (
<Var>
), each optionally surrounded by<declare>
role tags, and a logical formula (optionally surrounded by<formula>
role tags). - Attributes:
@key
@keyref
@xml:id
@node
@closure
@style
@mapClosure
@mapDirection
@mapMaterial
- Examples: datalogplus_min.ruleml disdatalogplus_min.ruleml ssn.ruleml
- See schema docs. Exists
24 <Expr>
- Compound term that is a functional term of the form "f(...)" where f is a function symbol. The function symbol (
<Fun>
) is followed by a sequence of zero or more arguments (<arg>
). Optional slots (<slot>
) are also permitted, just like in an atom (<Atom>
). Rest variables for positional arguments (<repo>
) and slot arguments (<resl>
) are also permitted. - Attributes:
@key
@keyref
@xml:id
@node
@style
@per
@type
- Examples: authenticate.ruleml
- See schema docs. Expr
25 <Forall>
- Quantified sentence that is an explicit universal quantification. Its description consists of one or more variables (
<Var>
), each optionally surrounded by<declare>
role tags, followed by a logical formula (optionally surrounded by<formula>
role tags) called the body. - Attributes:
@key
@keyref
@xml:id
@node
@closure
@style
@mapClosure
@mapDirection
@mapMaterial
- Examples: datalogplus_min.ruleml ssn.ruleml
- See schema docs. Forall
26 <formula>
- Edge for the formula(s) of a conjunctive (
<And>
) or disjunctive (<Or>
) formula, quantifier (<Forall>
or<Exists>
), rulebase<Rulebase>
), or performative (<Assert>
,<Query>
or<Retract>
). - Attributes:
@index
(within<And>
and<Or>
)@key
@keyref
@xml:id
- Examples: ackermann-typecond_normal.ruleml
- See schema docs. formula in Assert/Retract and similar schema docs)
27 Formula
- Node indicating a member of a theory or rulebase. It is complementary to the syntactic category of terms.
- Subcategories: Simple Formula, Compound Formula
28 <Fun>
- function symbol in a functional expression (
<Expr>
). It is optionally surrounded by operator (<op>
) role tags. - Attributes:
@key
@keyref
@xml:id
@node
@type
,@iri
@per
(and@val
in languages with equality): - Examples: authenticate.ruleml
- See schema docs. Fun
29 Function
- Node indicating the mapping that is applied in an expression (functional term).
- See
<Fun>
,<Const>
,<Var>
,<Uniterm>
,<Expr>
,<Skolem>
,<Reify>
,<Data>
,<Ind>
30 <if>
- Edge for the "if" part of an implication rule (
<Implies>
) containing the premise(s), also known as the "condition" or "body" of the rule. Also used as the "antecedent" part of an entailment (<Entails>
). - Attributes:
@key
@keyref
@xml:id
- Examples: discount.ruleml own.ruleml authenticate.ruleml
- See schema docs. if in Implies and if in Entails
31 <Implies>
- Connective sentence that is an implication rule. Its description includes a conclusion edge (
<then>
) and a premise edge (<if>
). 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>
<then>
<Atom>
<Rel>discount</Rel>
<Var>customer</Var>
<Var>product</Var>
<Ind>5.0 percent</Ind>
</Atom>
</then>
<if>
<And>
<Atom>
<Rel>premium</Rel>
<Var>customer</Var>
</Atom>
<Atom>
<Rel>regular</Rel>
<Var>product</Var>
</Atom>
</And>
</if>
</Implies>
or, equivalently:
<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:
<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:
@key
@keyref
@xml:id
@node
@closure
@style
@mapClosure
@mapDirection
@mapMaterial
@direction
@material
- Examples: discount.ruleml own.ruleml datalogplus_min.ruleml authenticate.ruleml
- See schema docs. Implies
32 <Ind>
- Simple term that is an individual constant, as in predicate logic (which can have an IRI like an RDF resource).
- Attributes:
@key
@keyref
@xml:id
@node
@type
@iri
- Examples: discount.ruleml own.ruleml creator.ruleml authenticate.ruleml
- See schema docs. Ind
33 @index
- Attribute required for specifying the position of a positional argument (see
<arg>
) within a logical atom (<Atom>
). Also used to specify the position of a performative (see<act>
) within the top element (<RuleML>
), and optionally the position of a formula (see<formula>
) within ordered Conjunction (<And>
) and Disjunction (<Or>
). - Examples: own-expanded.ruleml
- See schema docs. index in act and index in arg and index in formula
34 @iri
- Attribute optionally on
<Ind>
,<Const>
,<Rel>
, and<Fun>
for referring to an IRI like for XHTML anchors. - Examples: authenticate.ruleml
- See schema docs. iri in Fun and similar
35 @key
- Attribute optionally on Nodes, serving as a label for distributed syntax.
- Examples: datalog-key-keyref.ruleml datalogplus-key-keyref.ruleml
- See schema docs. key
36 @keyref
- Attribute optionally on Nodes, serving as a reference to a @key label for distributed syntax.
- Examples: datalog-key-keyref.ruleml datalogplus-key-keyref.ruleml
- See schema docs. keyref
37 Leaf Node
- Node which may not contain another Node.
- See Simple Term,
<Rel>
,<Fun>
38 <left>
- Edge for the left-hand side of an equation (
<Equal>
). - Attributes:
@key
@keyref
@xml:id
- Examples: ackermann-typecond_normal.ruleml
- See schema docs. left
39 @mapClosure
- Attribute indicating how the free variables falling within its scope (i.e. child elements) are quantified. See attribute mapping for more details. Predefined values are "universal" and "existential".
- Examples: own.ruleml creator.ruleml authenticate.ruleml
- See schema docs. mapClosure in Assert and similar
40 @mapDirection
- Semantic variant Attribute indicating the intended inferencing direction of all implication rules (
<Implies>
) falling within its scope (i.e. as Node-child elements). See attribute mapping for more details. This attribute has a neutral value of "bidirectional". Other allowed values are "forward" and "backward". - See schema docs. mapDirection
41 @mapMaterial
- Semantic variant Attribute indicating the kind of all implication rules (
<Implies>
) falling within its scope (i.e. as Node-child elements). See attribute mapping for more details. Predefined values are "yes" and "no". - See schema docs. mapMaterial
42 @material
- Semantic variant Attribute indicating the kind of an implication rule (
<Implies>
). Predefined values are "yes" and "no". - See schema docs. material
43 <meta>
- Edge attaching a single formula as meta-knowledge to a Branch Node. Not available for Leaf Nodes, such as
<Var>
or<Rel>
. - Attributes:
@key
@keyref
@xml:id
- See schema docs. meta
44 Metalogical Node
45 <Naf>
- Compound formula for a "by default" negation of a logical atom (
<Atom>
) (i.e. "weak" negation or negation as failure). The negated atom may be optionally surrounded by<weak>
role tags. - Attributes:
@key
@keyref
@xml:id
@node
@closure
@style
@mapClosure
@mapDirection
@mapMaterial
- Examples: parliament-naf.ruleml
- See schema docs. Naf
46 <Neg>
- Connective sentence that results from the application of a classical negation (also called "strong" negation) connective to a formula called the body. The body may be optionally surrounded by
<strong>
role tags. - Attributes:
@key
@keyref
@xml:id
@node
@closure
@style
@mapClosure
@mapDirection
@mapMaterial
- See schema docs. Neg
47 Node
- Construct determined by a type and a description, as a collection of constructs, of a member of that type.
- A RuleML/XML Node element is an XML element manifestation of an (abstract) RuleML Node, consisting of a type tag pair (<type>, </type>) that indicates the type, and attributes together with the element content that indicate the description.
- Disjoint from Edge, Attribute, and Slot
- Subcategories Branch Node, Leaf Node, Formula, Term, Relation, Function, Metalogical Node,
<Uniterm>
48 @node
- Attribute for an optional IRI identifier for a Node, creating accessibility within the knowledge representation. This can help for representing prioritization between rules, for example. All Node tags (i.e. those that begin with an Uppercase letter) of RuleML can be decorated with such an identifier.
- See schema docs. node
49 <oid>
- Edge for an optional object identifier of an
<Atom>
or<Expr>
ession. Note thatoid
s are not required to be unique within a rulebase. - Attributes:
@key
@keyref
@xml:id
- Examples: addressRel2Obj.ruleml
- See schema docs. oid
50 <op>
- Edge used for operators of atoms (
<Atom>
), functional expressions (<Expr>
), or, in Holog languages, uniterms (<Uniterm>
). In expressivities up to FOL, this edge has a role filler that is either a relation (<Rel>
) or a function symbol (<Fun>
). In Holog languages, it may also contain a neutralized constant (<Const>
) or an arbitrary term. - Attributes:
@key
@keyref
@xml:id
- Examples: discount.ruleml own.ruleml creator.ruleml authenticate.ruleml
- See schema docs. op in Atom and op in Expr
51 <Or>
- Connective sentence resulting from the application of a variably polyadic disjunction connective to zero or more formulas (called the disjuncts).
- Attributes:
@key
@keyref
@xml:id
@node
@closure
@style
@mapClosure
@mapDirection
@mapMaterial
- Examples: datalogplus_min.ruleml disdatalogplus_min.ruleml
- See schema docs. Or within Query and Or elsewhere
52 @oriented
- Semantic variant Attribute indicating whether an equation (
<Equal>
) is oriented (directed) or unoriented (symmetric). Predefined values are "no" (unoriented) and "yes" (oriented). For example, the (oriented) defining equationhome(father-of(John)) = Mexico City
appears as follows:
<Equal oriented="yes">
<left>
<Expr>
<Fun per="value">home</Fun>
<Expr>
<Fun per="copy">father-of</Fun>
<Ind>John</Ind>
</Expr>
</Expr>
</left>
<right>
<Ind>Mexico City</Ind>
</right>
</Equal>
53 @per
- Semantic variant Attribute indicating whether a simple function name (
<Fun>
) or an expression used as a complex function name (<Expr>
) will be interpreted.[3] In equality sublanguages, it has three values "copy", "value", and "open", while in non-equality sublanguages it can only have the value "copy". - See schema docs. per in Expr and per in Fun
54 Performative
- Construct enabling the representation of side-effectful operations on a knowledge base
- See:
<Assert>
<Retract>
<Query>
55 Quantified Sentence
- Compound formula resulting from the application of a quantifier to a formula.
- See:
<Exists>
<Forall>
56 <Plex>
- Compound term that contains a collection of (ordered) arguments (optionally enclosed by
<arg>
) and/or (unordered) slots (<slot>
), abbreviating an expression (<Expr>
) with the uninterpreted (constructor) function<Fun per="copy">Plex</Fun>
applied to the same arguments. Rest variables (<repo>
and<resl>
) are also permitted. For example, the positional (list-like)<Plex>
pattern
<Plex>
<Var>First</Var>
<Var>Second</Var>
<Var>Third</Var>
<Var>Fourth</Var>
</Plex>
- abbreviates
<Expr>
<Fun per="copy">Plex</Fun>
<Var>First</Var>
<Var>Second</Var>
<Var>Third</Var>
<Var>Fourth</Var>
</Expr>
57 <Query>
- Performative acting as a wrapper specifying that its content, e.g. an
<Atom>
(optionally surrounded by<formula>
role tags), is employed as a query.[1] This allows the separation of content from its use in the performative (as pioneered by KQML, which has a similar performative 'ask'). - Attributes:
@key
@keyref
@xml:id
@node
@mapClosure
@mapDirection
@mapMaterial
@style
- Examples: discount.ruleml creator.ruleml datalogplus_min.ruleml
- See schema docs. Query
58 <Reify>
- Simple term that supports reification (a kind of instantiation or quasi-quotation). It allows any RuleML element available within the current RuleML language as content, treating it as a term for performing reasoning on, e.g.
<Reify>
<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>
</Reify>
- Attributes:
@key
@keyref
@xml:id
@node
- See schema docs. Reify
59 <Rel>
- Relation, i.e. logical predicate, of an atom (
<Atom>
). It is optionally surrounded by operator (<op>
) role tags. - Attributes:
@key
@keyref
@xml:id
@node
@type
@iri
- Examples: discount.ruleml own.ruleml creator.ruleml authenticate.ruleml
- See schema docs. Rel
60 Relation
- Node indicating the predicate that is applied in an atom (atomic formula).
- See
<Rel>
,<Const>
,<Var>
,<Uniterm>
,<Expr>
,<Skolem>
,<Reify>
,<Data>
,<Ind>
61 <repo>
- Edge for a positional rest variable used in
<Atom>
s,<Expr>
s and<Plex>
s. . - Attributes:
@key
@keyref
@xml:id
- See schema docs. repo
62 <resl>
- Edge for a slotted rest variable used in
<Atom>
s,<Expr>
s and<Plex>
s.. - Attributes:
@key
@keyref
@xml:id
- See schema docs. resl
63 <Retract>
- Performative specifying that its content (optionally surrounded by
<formula>
role tags) is to be deleted, making an 'implicit<Rulebase>
' assumption.[1] 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:
@key
@keyref
@xml:id
@node
@mapClosure
@mapDirection
@mapMaterial
@style
- Examples: datalogplus_min.ruleml OffshoreHoldingsAnalytics.ruleml
- See schema docs. Retract
64 <right>
- Edge for the right-hand side of an equation (
<Equal>
). - Attributes:
@key
@keyref
@xml:id
- Examples: ackermann-typecond_normal.ruleml
- See schema docs. right
65 <Rulebase>
- Metalogical Node indicating a collection of rules that can be ordered or unordered, without or with duplicates.
- Attributes:
@key
@keyref
@xml:id
@node
@mapClosure
@mapDirection
@mapMaterial
@style
- Examples: ssn.ruleml
- See schema docs. Rulebase
66 <RuleML>
- Node for the n-ary top-level of a RuleML document. It permits an (ordered) transaction of n performative (
<Assert>
,<Query>
or<Retract>
) invocations, optionally wrapped in<act>
, making an 'implicitly sequential' assumption. - Attributes:
@key
@keyref
@xml:id
@node
@style
- Examples: discount.ruleml own.ruleml creator.ruleml authenticate.ruleml
- See schema docs. RuleML
67 Simple Formula
68 Simple Term
69 <Skolem>
- Simple term that is a Skolem individual constant.[4]
- Attributes:
@key
@keyref
@xml:id
@node
@type
- See schema docs. Skolem
70 <slot>
- A 'property-value' pair consisting of a name (first position) and a filler (second position). For example:
<slot>
<Ind>color</Ind>
<Ind>blue</Ind>
</slot>
- Attributes:
@weight
,@card
- Examples: addressRel2Obj.ruleml
- See schema docs. slot
71 <strong>
- Edge for the body of a classical negation (
<Neg>
). - Attributes:
@key
@keyref
@xml:id
- See schema docs. strong
72 @style
- Attribute indicating a predefined or user-defined semantic profile or supported set of entailments (partially) defining the intended semantics. Predefined semantic profiles are indicated by CURIEs or IRIs in the http://ruleml.org/profiles/ namespace, predefined entailment sets are indicated by CURIEs (Compact URIs)[5] or IRIs in the http://ruleml.org/entailments/ namespace, and user-defined semantic profiles are indicated by CURIEs or IRIs in namespaces that do not use the domain "ruleml.org" or any of its subdomains. Collectively, profiles and entailment sets are called semantic styles, or simply styles if the context is clear.
- A Node without a style attribute inherits the style of its parent Node.
- A Node with one or more semantic variant attributes is interpreted according to a modification of its semantic style per the specification of the semantic variant attribute values. However, the semantic style of the Node is not modified, so that its descendants may inherit the unmodified style.
- A RuleML document with no style attributes has underspecified semantics. This corresponds to a supported set of entailments that includes only reflexive entailments (i.e. every theory entails itself).
- A RuleML document should reference only semantic styles that are compatible with each other. The style definitions should specify the nature of their compatibility and the mechanism for determining entailments of theories with multiple compatible styles. See the section Predefined Semantic Styles in the Specification of Deliberation RuleML 1.02 for further details.
- See schema docs. style
73 Term
- Node that may be an operand in simple formulas or compound terms.
- Subcategories: Simple Term, Compound Term
74 <then>
- Edge for the "then" part of an implication rule (
<Implies>
) containing the conclusion, also known as the "head" of the rule. Also used as the "consequent" part of an entailment (<Entails>
). - Attributes:
@key
@keyref
@xml:id
- Examples: discount.ruleml own.ruleml authenticate.ruleml
- See schema docs. then in Implies and then in Entails
75 <torso>
- Edge for a symmetric role used in an equivalence formula (
<Equivalent>
) combining the asymmetric<then>
and<if>
. - Attributes:
@key
@keyref
@xml:id
- See schema docs. torso
76 @type
- Attribute for optionally specifying a (user-defined) type for a term, e.g. for a variable. See the oojdrew.ruleml instance for an example of the usage of
@type
. - See schema docs. type on Expr and similar
77 <Uniterm>
- Node that is a function, relation, compound term or simple formula represented as a Hilog/Relfun-like term, generalizing atomic formulas (
<Atom>
) and functional expressions (<Expr>
). - Attributes:
- See holog RNC module
78 @val
- Semantic variant Attribute used to indicate whether a function (
<Fun>
) is deterministic or non-deterministic.[3] It has two values: "1" (deterministic: exactly one) and "0.." (set-valued: zero or more). For example, the functionchildren(John, Mary)
can be interpreted in a set-valued manner using a definitionchildren(John, Mary) = {Jory, Mahn}
, so that the applicationchildren(John, Mary)
returns{Jory, Mahn}
:
<Expr>
<Fun per="value" val="0..">children</Fun>
<Ind>John</Ind>
<Ind>Mary</Ind>
</Expr>
79 <Var>
- Simple term (or, in Holog languages, function or relation) that is a logical variable, as in logic programming.
- Attributes:
@key
@keyref
@xml:id
@node
@type
- Examples: discount.ruleml own.ruleml creator.ruleml authenticate.ruleml
- See schema docs. Var
80 <weak>
- Edge for a role used for negation as failure (
<Naf>
). - Attributes:
@key
@keyref
@xml:id
- See schema docs. weak
81 @weight
- Semantic variant Attribute indicating the relative weight of a
<slot>
. - See schema docs. weight
82 References
- ↑ 1.0 1.1 1.2 http://ruleml.org/fol FOL RuleML
- ↑ http://image.ntua.gr/FuzzyRuleML Fuzzy RuleML
- ↑ 3.0 3.1 http://ruleml.org/fun Functional RuleML
- ↑ http://ruleml.org/posl/poslintweb-talk.pdf Integrating Positional and Slotted Knowledge on the Semantic Web slides
- ↑ https://www.w3.org/TR/rdfa-syntax/#s_curies RDFa Core 1.1 - Third Edition 6. CURIE Syntax Definition