Content Models of Deliberation RuleML 1.0

From RuleML Wiki
Jump to: navigation, search

Notice of Obsolescence

See Content Models of Deliberation RuleML.

Authors: Tara Athan, Harold Boley, Tshering Dema, David Hirtle, Omair Shafiq, Derek Smith

Quick links:

Overarching : Overarching Specification of Web Rules

Prerequisites: None, Level: Semi-formal

Deliberation RuleML : Specification of Deliberation RuleML

Prerequisites: None, Level: Semi-formal

Primer : Introduction to the RuleML Language

Prerequisites: None, Level: Informative

Content Models : High-level Presentation of the RuleML Serialization Grammar

Prerequisites: EBNF or Relax NG, Level: Semi-formal

XSD Schemas : Machine-readable schemas in XSD

Prerequisites: XSD, Level: Formal

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

Normalizer : Stylesheet for transforming into the normal-form serialization

Prerequisites: XSLT, Level: Formal

Upgrader : Stylesheet for transforming from Version 0.91 into Version 1.0

Prerequisites: XSLT, Level: Formal

Examples : Illustrative Instances of the Version 1.0 Language

Prerequisites: Primer, Level: Informative

Glossary : Definitions of Elements and Attributes

Prerequisites: Primer, Level: Semi-formal

Schema Docs : Diagrammatic Presentation of the RuleML Normal-Form Serialization Grammar

Prerequisites: Primer, Level: Semi-formal

OO jDREW : Reference Implementation of RuleML Operational Semantics

Prerequisites: Naf Hornlog RuleML, Level: Formal

Implementations : Implemented RuleML tools

Prerequisites: None, Level: Informative

This version: ruleml.org/content_models/1.0

Latest version: ruleml.org/content_models

Version history:
Date Version
2005-03-01 -

Version 0.88 PDF

2005-06-08 -

Version 0.89 PDF

2006-05-17 -

Version 0.9 PDF

2006-09-13 -

Version 0.91 PDF

2012-04-03 -

Version 1.0 PDF

2012-04-03 -

Version 1.0 Wiki

2014-07-25 -

Version 1.01 Wiki

2014-07-25 -

Version 1.01 Schemadoc

2014-07-25 -

Version 1.01 RNC

2015-xx-yy -

Version 1.02 Wiki dev

2015-xx-yy -

Version 1.02 Schemadoc dev

2015-xx-yy -

Version 1.02 RNC dev


This document is a collection of content models, i. e. the content permitted within a particular element, for all RuleML elements and attributes as of version 1.0 as defined by the XSD schemas, organized alphabetically by module name. Each module is a grouping of related (XML) elements and/or attributes (prefixed with “@”). Under each element name, the attributes allowed are listed in the first line, with suffix ? to indicate optional attributes. We are able to do this because the content models of all attributes are independent of context. Following the attribute list, the element and text portion of the content model is given in EBNF-like compact Relax NG syntax. In attributes, default values, if any, are first in the list of possible values, and are shown in bold for emphasis. See http://www.ruleml.org/1.0/xsd/ for the actual XSD schemas and the RuleML glossary for the meaning of each tag.

The content models presented here apply only to the XSD schemas, not the Relax NG schemas of RuleML Version 1.0. For content models of the Relax NG schemas for the original fifteen named sublanguages, see http://ruleml.org/1.0/simplified .

Since RuleML is a family of sublanguages, it is important to note that the content model of a given node often varies according to the current sublanguage. In such cases, all variations of the content model are provided along with the corresponding sublanguage(s). The modularization of RuleML, including all sublanguages, is explained at http://www.ruleml.org/modularization.

Certain attributes are allowed on all or many elements. To save space, these attributes are described here and not addressed in the individual content models.@xml:base, @xml:id : these attributes in the XML namespace are optional on any element'

@node : this attribute in the RuleML namespace is optional on any Node; that is, any element whose name begins with a capital letter.

Content models may also vary depending on context, i.e. surrounding elements (especially parent elements). In these cases, the content models are listed under a heading such as “within x…” where x indicates the context.

Any element in a sublanguage may be used within Reify or as the starting element of the grammar (the document root, or the starting element of a section in the RuleML namespace within a multi-namespace document) except as stated otherwise. As implemented in the XSD schemas, when elements have context-dependent content models, at most one of the patterns is allowed in Reify or start - otherwise the content model will be non-deterministic, which is not allowed in XSD 1.0.

In a few cases, there is a discrepancy between the content model as implemented in the XSD schema and the intended sublanguage, principally due to limitations of the XSD language. Discrepancies are denoted by color-coded highlighting:

  • This highlighting indicates parts of the content model that are implemented in the XSD schemas but not consistent with the intended sublanguage;
  • This highlighting indicates parts of the content model of the intended sublanguage that are not implemented in the XSD schemas;

The content model as implemented in XSD may be obtained by including yellow highlighted sections and deleting blue and pink.

The content model of the intended sublanguage(s) may be obtained by including blue highlighted sections and deleting yellow.

For clarification on any RuleML-related topic, including this document, the RuleML-all mailing list may be quite helpful. The RuleML Primer serves as an introduction.

Contents

1 atom

1.1 Atom

attributes: @closure?

in bindatagroundlog, bindatagroundfact and bindatalog:

 ( meta*, oid?, degree?, (op | Rel), slot*,((arg | arg_content), (arg | arg_content), slot*)? )

in datalog, nafdatalog, nafnegdatalog, and negdatalog:

 ( meta*, oid?, degree?, (op | Rel), slot*, ((arg | arg_content)+, slot*)? )

in hornlog & up (except framehohornlogeq):

 ( meta*, oid?, degree?, (op | Rel), slot*, ((((arg | arg_content)+, repo?) | repo), slot*)?, resl? )

in framehohornlogeq (except in Reify or start):

 ( meta*, oid, ( op | op_content )?, slot* )
1.1.1 within Reify and start in SWSL languages :

( meta*, oid?, degree?, (op | Rel), slot*, ((((arg | Var | Skolem | Reify | Const | Uniterm)+,
   repo?) | repo), slot*)?, resl? )

1.2 degree

attributes: none

in all sublanguages:

(Data)

1.3 op (context sensitive; see also the holog and expr modules)

attributes: none

1.3.1 within Atom, Reify and start...

in all sublanguages (except SWSL languages):

( Rel )

1.4 Rel

attributes: @iri?

in all sublanguages:

( text )

2 connective

2.1 if (context sensitive)

attributes: none

2.1.1 within Implies, Reify and start...

in all sublanguages (except bindatagroundfact):

( if_implies_content )

where if_implies_content =

in datalog & down and hornlog, dishornlog:

( Atom | And | Or )

in negdatalog:

( Atom | And | Or | Neg )

in nafdatalog & nafhornlog:

( Atom | And | Or | Naf )

in nafnegdatalog:

( Atom | And | Or | Neg | Naf )

in hornlogeq:

( Atom | And | Or | Equal )

in hohornlog:

( And | Or | Naf | Uniterm | Neg )

in hohornlogeq:

( And | Or | Naf | Uniterm | Neg | Equal )

in framehohornlogeq:

( And | Or | Naf | Uniterm | Neg | Equal | Atom­ | InstanceOf | SubclassOf | Signature )

in folog:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists )

in naffolog:

( Atom | And | Or | Neg | Naf | Implies | Equivalent | Forall | Exists )

in fologeq:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists | Equal )

in naffologeq:

( Atom | And | Or | Neg | Naf | Implies | Equivalent | Forall | Exists | Equal )
2.1.2 within Entails ...

in all sublanguages:

( if_entails_content )

where if_entails_content =

in all sublanguages:

( Rulebase )

2.2 then (context sensitive)

attributes: none

2.2.1 within Implies , Reify and start...

in all sublanguages (except bindatagroundfact):

( then_implies_content )

where then_implies_content =

in datalog & down and hornlog:

( Atom )

in negdatalog:

( Atom | Neg )

in nafdatalog & nafhornlog:

( Atom | Naf )

in nafnegdatalog:

( Atom | Neg | Naf )

in hornlogeq:

( Atom | Equal )

in hohornlog:

( Naf | Uniterm | Neg )

in hohornlogeq:

( Naf | Uniterm | Neg | Equal )

in framehohornlogeq:

( Naf | Uniterm | Neg | Equal | Atom­ | InstanceOf | SubclassOf | Signature )

in dishornlog:

( Atom | And | Or )

in folog:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists )

in naffolog:

( Atom | And | Or | Neg | Naf | Implies | Equivalent | Forall | Exists )

in fologeq:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists | Equal )

in naffologeq:

( Atom | And | Or | Neg | Naf | Implies | Equivalent | Forall | Exists | Equal )
2.2.2 within Entails...

in all sublanguages:

( then_entails_content )

where then_entails_content =

in all sublanguages:

 ( Rulebase )

2.3 Implies

attributes: @closure?, @direction?, @material? ( + @mapDirection?, @mapMaterial? and @mapClosure? in folog & up)

in all sublanguages:

( meta*, ((then, if) | (if, then) | (if_implies_content, then_implies_content)) )

2.4 Entails

attributes: none

in all sublanguages:

( meta*, (if | Rulebase), (then | Rulebase) )

2.5 Equivalent

attributes: @closure? ( + @mapDirection?, @mapClosure? and @mapMaterial? in folog & up)

in all sublanguages:

( meta*, ((torso, torso) | ( torso_content, torso_content )) )

2.6 torso

attributes: none

in all sublanguages:

( torso_content )

where torso_content =

in datalog & down and up to (and including) dishornlog:

( Atom )

in dishornlog:

( Atom | Or )</span

in hornlogeq:

( Atom | Equal )

in hohornlog:

( Uniterm )

in hohornlogeq:

( Uniterm | Equal )

in framehohornlogeq:

( Atom | Uniterm | InstanceOf | SubclassOf | Signature | Equal )

in folog and naffolog:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists )

in fologeq & naffologeq:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists | Equal )

2.7 Rulebase

attributes: @mapDirection?, @mapClosure? and @mapMaterial?

in all sublanguages:

( meta*, (formula | formula_rulebase_content)* )

2.8 And

attributes {within Query only: @closure?} ( + @mapDirection?, @mapClosure? and @mapMaterial? in folog & up)

in all sublanguages:

( meta*, (formula | formula_andor_content)* )

2.9 Or

attributes {within Query only: @closure?} ( + @mapDirection?, @mapClosure? and @mapMaterial? in folog & up)

in all sublanguages:

( meta*, (formula | formula_andor_content)* )

2.10 formula (context sensitive; see also performative and quantifier modules )

attributes: none

2.10.1 within Rulebase...
( formula_rulebase_content )

where formula_rulebase_content =

in bindatagroundfact:

( Atom )

in bindatagroundlog:

( Atom | Implies | Equivalent )

in bindatalog, datalog, nafdatalog, hornlog, nafhornlog dishornlog:

( Atom | Implies | Equivalent | Forall )

in negdatalog, nafnegdatalog:

( Atom | Implies | Equivalent | Forall | Neg )

in hornlogeq:

( Atom | Implies | Equivalent | Forall | Equal )

in hohornlog:

( Implies | Equivalent | Forall | Uniterm | Neg )

in hohornlogeq:

( Implies | Equivalent | Forall | Uniterm | Neg | Equal )

in framehohornlogeq:

( Implies | Equivalent | Forall | Uniterm | Neg | Equal | Atom | InstanceOf | SubclassOf | Signature )

in folog, naffolog:

( Atom | Implies | Equivalent | Forall | And | Or | Neg | Exists )

in fologeq, naffologeq:

( Atom | Implies | Equivalent | Forall | And | Or | Neg | Exists | Equal )


2.10.2 within And/Or...

( formula_andor_content )

where formula_andor_content =

in datalog & down, hornlog and dishornlog:

( Atom | And | Or )

in negdatalog:

( Atom | And | Or | Neg )  

in nafdatalog and nafhornlog:

( Atom | And | Or | Naf )

in nafnegdatalog:

( Atom | And | Or | Naf | Neg )

in hornlogeq:

( Atom | And | Or | Equal )

in hohornlog:

( And | Or | Naf | Uniterm | Neg )

in hohornlogeq:

( And | Or | Naf | Uniterm | Neg | Equal )

in framehohornlogeq:

( And | Or | Naf | Uniterm | Neg | Equal | Atom | InstanceOf | SubclassOf | Signature )

in folog:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists )

in naffolog:

( Atom | And | Or | Neg | Naf | Implies | Equivalent | Forall | Exists )

in fologeq:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists | Equal )

in naffologeq:

( Atom | And | Or | Neg | Naf | Implies | Equivalent | Forall | Exists | Equal )

2.11 @mapMaterial

( yes | no )

2.12 @material

( yes | no )

2.13 @mapDirection

( bidirectional | forward | backward )

2.14 @direction

( bidirectional | forward | backward )

2.15 @mapClosure

( universal | existential )

2.16 @closure

( universal | existential )

3 desc

3.1 @node

in all sublanguages:

( xsd:anyURI )

3.2 meta

attributes: none

in all sublanguages :

( formula_assert_retract )

see "where formula_assert_retract ="

3.3 oid

attributes: none

in all sublanguages :

( arg_content )


4 equality

4.1 Equal

attributes: none

in hornlogeq, fologeq, naffologeq, hohornlogeq, framehohornlogeq

( meta*, degree?, ((left, right) | (arg_content, arg_content)) )

4.2 left

attributes: none

in hornlogeq, fologeq, naffologeq , hohornlogeq, framehohornlogeq:

( arg_content )

4.3 right

same as left

4.4 @oriented

( no | yes )

4.5 @val

( 0.. | 1 )

5 expr

5.1 Expr

attributes: @type?

in hornlog & up (except hohornlog, etc):

( meta*, oid?, (op | Fun), slot*, ((((arg | arg_content)+, repo?) | repo), slot*)?, resl? )

5.2 op (context sensitive; see also the atom and holog modules)

5.2.1 within Expr:

attributes: none

in hornlog & up (except SWSL languages):

( Fun )

5.3 Fun

attributes: @iri?

in hornlog & up (except SWSL languages):

( text )

5.4 Plex (context sensitive)

attributes: none

5.4.1 within Atom, Plex, slot, Reify and start...

in hornlog & up :

( meta*, slot*, (((arg | arg_content)+, repo?, slot*, resl?)? | (repo, slot*, resl?) | resl) )
5.4.2 within repo...

in hornlog & up:

( meta*, ( arg | arg_content)* , repo? )
5.4.3 within resl...

in hornlog & up including hohornlog, etc. :

( meta*, slot*, resl? )

5.5 @per

( copy | open | value | effect | model )

6 frame

6.1 Set

attributes: none

in framehohornlogeq:

( meta*, arg_content* )

6.2 InstanceOf

attributes: none

in framehohornlogeq:

( meta*, arg_content, arg_content )

6.3 SubclassOf

attributes: none

in framehohornlogeq:

( meta*, arg_content, arg_content )

6.4 Signature

attributes: none

in framehohornlogeq:

( meta*, oid, (op | op_content)?, slot* )

6.5 Get

attributes: none

in framehohornlogeq:

( meta*, oid, SlotProd )

6.6 SlotProd

attributes: none

in framehohornlogeq:

( meta*, ( arg_content)+ )

7 holog

7.1 Uniterm

attributes: none

in hohornlog, hohornlogeq & framehohornlogeq:

( meta*, (op | op_content), slot*, resl?, ((((arg | arg_content)+, repo?) | repo), slot*, resl?)?) 
( meta*, (op | op_content), slot*, ((((arg | arg_content)+, repo?) | repo), slot*)?, resl?)

7.2 op (context sensitive; see also the atom and expr modules)

attributes: none

7.2.1 within Uniterm and Signature...

in hohornlog & up:

( op_content )

where op_content =

( Const | Skolem | Var | Reify | Uniterm )

7.3 Const

attributes: @iri?, @type?

in hohornlog & up:

( text )

7.4 @minCard

in hohornlog & up:

( xsd:nonNegativeInteger ) 

7.5 @maxCard

in hohornlog & up:

( xsd:nonNegativeInteger ) 

8 iri

8.1 @iri

in all sublanguages:

( xsd:anyURI )

9 naf

9.1 Naf

attributes: none ( + @mapDirection?, @mapMaterial? and @mapClosure? in folog & up)

in all sublanguages:

( meta*, ( weak | weak_content) )

9.2 weak

attributes: none

in all sublanguages:

( weak_content )

where weak_content =

in nafdatalog:

( Atom )

in nafnegdatalog:

( Atom | Neg )

in hohornlog

( Uniterm )

in naffolog:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists )

in naffologeq:

( Atom | And| Or| Neg| Implies| Equivalent| Forall| Exists| Equal )

10 neg

10.1 Neg

attributes: none ( + @mapDirection?, @mapMaterial? and @mapClosure? in folog & up)

in all sublanguages:

( meta*, (strong | strong_content) )

10.2 strong

attributes: none

in all sublanguages:

( strong_content )

where strong_content =

in negdatalog and nafnegdatalog:

( Atom )

in hohornlog:

( Uniterm )

in hohornlogeq & up:

( Uniterm | Equal )

in folog and naffolog:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists )

in fologeq and naffologeq:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists | Equal )

11 performative

11.1 RuleML

attributes: none

in all sublanguages:

( meta*, (act | Assert | Query | Retract)* )

11.2 act

attributes: index

in all sublanguages:

( Assert | Query | Retract )

11.3 Assert

attributes: @mapDirection?, @mapClosure? and @mapMaterial?

in all sublanguages:

( meta*, (formula | formula_assert_retract)* )

11.4 Retract

same as Assert

11.5 Query

attributes: @closure? ( + @mapDirection?, @mapMaterial? and @mapClosure? in folog & up)

in all sublanguages:

( meta*, (formula | formula_query)* )

11.6 formula (context sensitive: see also connective and quantifier modules)

attributes: none

11.6.1 within Assert and Retract…
( formula_assert_retract )

where formula_assert_retract =

in bindatagroundfact:

( Rulebase | Atom | Entails )

in bindatagroundlog:

( Rulebase | Atom | Implies | Equivalent | Entails )

in bindatalog, datalog, hornlog & dishornlog, nafdatalog, nafhornlog:

( Rulebase | Atom | Implies | Equivalent | Entails | Forall )

in negdatalog and nafnegdatalog:

( Rulebase | Atom | Implies | Equivalent | Entails | Forall | Neg )

in hornlogeq:

( Rulebase | Atom | Implies | Equivalent | Entails | Forall | Equal )

in hohornlog:

( Rulebase | Implies | Equivalent | Entails | Forall | Uniterm | Neg )

in hohornlogeq:

( Rulebase | Implies | Equivalent | Entails | Forall | Uniterm | Neg | Equal )

in framehohornlogeq:

( Rulebase | Implies | Equivalent | Entails | Forall | Uniterm | Neg | Equal |Atom | InstanceOf | SubclassOf | Signature )

in folog and naffolog:

( Rulebase | Atom | Implies | Equivalent | Entails | Forall | And | Or | Neg | Exists )

in fologeq and naffologeq:

( Rulebase | Atom | Implies | Equivalent | Entails | Forall | And | Or | Neg | Exists | Equal )
11.6.2 within Query...
( formula_query )

where formula_query =

in bindatagroundfact and bindatagroundlog:

( Rulebase | And | Or | Atom | Entails_)

in bindatalog, datalog, hornlog, dishornlog:

( Rulebase | Atom | And | Or | Entails | Exists )

in nafdatalog, nafhornlog:

( Rulebase | Atom | And | Or | Entails | Exists | Naf )

in negdatalog:

( Rulebase | Atom | And | Or | Entails | Exists | Neg )

in nafnegdatalog:

( Rulebase | Atom | And | Or | Entails | Exists | Neg | Naf )

in framehohornlogeq:

( Rulebase | And | Or | Entails | Exists | Naf | Uniterm | Neg | Equal | Atom | InstanceOf | SubclassOf | Signature )

in hohornlog:

( Rulebase | And | Or | Entails | Exists | Naf | Uniterm | Neg )

in hohornlogeq:

( Rulebase | And | Or | Entails | Exists | Naf | Uniterm | Neg | Equal )

in folog:

( Rulebase | Atom | And | Or | Entails | Exists | Neg | Implies | Equivalent | Forall )

in fologeq:

( Rulebase | Atom | And | Or | Entails | Exists | Neg | Implies | Equivalent | Forall | Equal )

in naffolog:

( Rulebase | Atom | And | Or | Entails | Exists | Neg | Implies | Equivalent | Forall | Naf )

in naffologeq:

( Rulebase | Atom | And | Or | Entails | Exists | Neg | Implies | Equivalent | Forall | Naf | Equal )

12 quantifier

12.1 Forall

attributes: none ( + @mapDirection?, @mapMaterial? and @mapClosure? in folog & up)

in all sublanguages (except bindatagroundfact and bindatagroundlog):

( meta*, (declare | Var)+, (formula | formula_forall) )

12.2 Exists

attributes: none ( + @mapDirection?, @mapMaterial? and @mapClosure? in folog & up)

in all sublanguages (except bindatagroundfact and bindatagroundlog):

( meta*, (declare | Var)+, (formula | formula_exists) )

12.3 declare

attributes: none

in all sublanguages (except bindatagroundfact and bindatagroundlog):

( Var )

12.4 formula (context sensitive; see also the connective and performative modules)

attributes: none

in all sublanguages (except bindatagroundfact and bindatagroundlog):

12.4.1 within Forall...
( formula_forall )

where formula_forall =

in bindatalog, datalog & up to (including) hornlog and dishornlog:

( Atom | Implies | Equivalent | Forall )

in hornlogeq:

( Atom | Implies | Equivalent | Forall | Equal )

in hohornlog:

( Uniterm | Implies | Equivalent | Forall )

in hohornlogeq:

( Uniterm | Implies | Equivalent | Forall | Equal )

in framehohornlogeq:

( Atom | Uniterm | InstanceOf | SubclassOf | Signature | Implies | Equivalent | Forall | Equal )

in folog and naffolog:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists )

in fologeq and naffologeq:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists | Equal )
12.4.2 within Exists...
( formula_exists )

where formula_exists =

in bindatalog, datalog & up to (including) hornlog and dishornlog:

( Atom | And | Or | Exists )

in hornlogeq:

( Atom | And | Or | Exists | Equal )

in hohornlog:

( Uniterm | And | Or | Exists )

in hohornlogeq:

( Uniterm | And | Or | Exists | Equal )

in framehohornlogeq:

( Atom | Uniterm | InstanceOf | SubclassOf | Signature | And | Or | Exists | Equal )

in folog and naffolog:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists )

in fologeq and naffologeq:

( Atom | And | Or | Neg | Implies | Equivalent | Forall | Exists | Equal )

13 rest

13.1 repo

attributes: none

in hornlog & up:

( Var | Plex )

13.2 resl

attributes: none

in hornlog & up:

( Var | Plex )

14 slot

14.1 slot (context sensitive)

attributes: @card?, @weight?

14.1.1 within Atom, Expr, Plex, Uniterm, Reify and start

in bindatagroundlog, & up (except for the SWSL languages):

( (Ind | Data), arg_content )

in hohornlog & hohornlogeq:

( ( Const | Uniterm ), arg_content )

in framehohornlogeq:

( ( Const | Uniterm | Get ), arg_content )
14.1.2 within Signature, Atom-frame...

attributes: ( + @minCard? and @maxCard? )

in framehohornlogeq:

( ( Const | Uniterm | Get ), arg_content? )

14.2 @card

in all sublanguages:

( xsd:nonNegativeInteger )

14.3 @weight

in all sublanguages:

( xsd:decimal { minInclusive = "0" maxInclusive = "1" } )

15 term

15.1 arg

attributes: @index

in all sublanguages:

( arg_content )

where arg_content =

in bindatalog, datalog & up to hornlog:

( Ind | Data | Skolem | Var | Reify )

in bindatagroundlog and bindatagroundfact:

( Ind | Data | Skolem | Reify )

in hornlog & up (except hohornlog, etc):

( Ind | Data | Skolem | Var | Reify | Expr | Plex )

in hohornlog & hohornlogeq:

( Const | Skolem | Var | Reify | Uniterm )

in framehohornlogeq:

( Const | Skolem | Var | Reify | Uniterm | Get | Set )

15.2 Ind

attributes: @iri?, @type?

in all sublanguages:

( text )

15.3 Data

attributes: @xsi:type?

in all sublanguages:

( xsd:anyType ) optionally restricted to the datatype specifed as the value of @xsi:type

15.4 Var

attributes: @type?

in all sublanguages (except bindatagroundfact and bindatagroundlog):

( text )

15.5 Skolem

attributes: @type?

in all sublanguages:

( text )

15.6 Reify

attributes: none

in all sublanguages:

( xsd:anyComplexType? ) restricted to globally-defined elements in the RuleML namespace with strict validation of content

15.7 @type

in all sublanguages:

( text )

15.8 @index

in all sublanguages:

( xsd:positiveInteger )

16 Interactive Schemadocs

{{#widget:Iframe |url=http://ruleml.org/1.0/doc/start_RuleML.html |width=1200 |height=900 |border=0 }}