Glossary of Deliberation RuleML 1.02

From RuleML Wiki
Jump to: navigation, search

Authors: Tara Athan, Harold Boley

Quick links:

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:
Date Version
2005-11-09 -

Version 0.9 HTML

2006-08-24 -

Version 0.91 HTML

2012-05-26 -

Version 1.0 HTML

2012-05-26 -

Version 1.0 Wiki

2014-11-19 -

Version 1.01 Wiki

2015-MM-DD -

Version 1.02 Wiki-Dev


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.

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

Term that may contain other terms.
See: <Expr> <Plex> <Uniterm>

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

Node indicating a metalogical formula or term.
See Entails Rulebase

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 that oids 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 equation home(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>
See schema docs. oriented

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>
Attributes: @key @keyref @xml:id @node @style
See schema docs. Plex and similar

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

Formula that may not contain other formulas.
See <Atom> <Equal>

68 Simple Term

Term that may not contain other terms.
See: <Data>, <Ind>, <Skolem>, <Var>, <Reify>, <Const>

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:
@key @keyref @xml:id @node @closure @style (as a formula)
@key @keyref @xml:id @node @style @per @type (as a term)
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 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 per="value" val="0..">children</Fun>
  <Ind>John</Ind>
  <Ind>Mary</Ind>
</Expr>
See schema docs. val

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. 1.0 1.1 1.2 http://ruleml.org/fol FOL RuleML
  2. http://image.ntua.gr/FuzzyRuleML Fuzzy RuleML
  3. 3.0 3.1 http://ruleml.org/fun Functional RuleML
  4. http://ruleml.org/posl/poslintweb-talk.pdf Integrating Positional and Slotted Knowledge on the Semantic Web slides
  5. https://www.w3.org/TR/rdfa-syntax/#s_curies RDFa Core 1.1 - Third Edition 6. CURIE Syntax Definition