This section first reviews the definitions of RDF vocabularies and RDF graphs, after which definitions related to datatypes and ill-typed literals are reviewed. Finally, a formal definition of RIF-RDF combinations is given.
RDF Vocabularies and Graphs
An RDF vocabulary V consists of sets of names:
plain literals VPL (i.e. character strings with an optional language tag), and
typed literals VTL (i.e. pairs of character strings and datatype IRIs).
The syntax of the names in these sets is defined in RDF Concepts and Abstract Syntax [RDF-Concepts]. Besides these names, there is an infinite set of blank nodes, which is disjoint from the sets of literals and IRIs.
Given an RDF vocabulary V, a generalized RDF graph of V is a set of generalized RDF triples s p o ., where s, p and o are blank nodes or IRIs, plain or typed literals in V. (See End note on generalized RDF graphs)
Datatypes and Ill-Typed Literals
Even though RDF allows the use of arbitrary datatype IRIs in typed literals, not all such datatype IRIs are recognized in the semantics. In fact, simple entailment does not recognize any datatype and RDF and RDFS entailment recognize only the datatype rdf:XMLLiteral. Furthermore, RDF allows to express typed literals such that the literal string is not in the lexical space of the datatype; such literals are called ill-typed literals. RIF, in contrast, does not allow ill-typed literals in the syntax. To facilitate discussing datatypes, and specifically datatypes supported in some context (required for D-entailment), we use the notion of datatype maps.
A datatype map is a partial mapping from IRIs to datatypes. RDFS, specifically D-entailment, allows the use of arbitrary datatype maps, as long as the rdf:XMLLiteral datatype is considered. RIF BLD additionally requires the following datatypes to be considered: xsd:long', xsd:string', xsd:integer', xsd:decimal', xsd:time', xsd:dateTime', and `rif:text'. We define the notion of a conforming datatype map as a datatype map which recognizes at least those datatypes in the list of required types in RIF BLD, but which may go beyond this list.
A datatype map D is a conforming datatype map if it satisfies the following conditions:
No RIF-supported symbol space which is not an RIF-supported primitive data type (i.e. rif:local and rif:iri in RIF BLD) is in the domain of D.
The IRIs identifying all RIF-required primitive datatypes are in the domain of D. For RIF BLD these IRIs are: xsd:long, xsd:string, xsd:integer, xsd:decimal, xsd:time, xsd:dateTime, rdf:XMLLiteral, and rif:text.
D maps IRIs identifying XML schema datatypes to the respective data types [XML-SCHEMA2], rdf:XMLLiteral to the rdf:XMLLiteral datatype [RDF-Concepts], and rif:text to the rif:text primitive datatype [RIF-BLD].
We now define the notions of well- and ill-typed literals, which loosely correspond to the notions of well-formed and ill-formed symbols in RIF.
Given a conforming datatype map D, a typed literal (s, d) is a well-typed literal if
d is in the domain of D and s is in the lexical space of D(d),
d is the IRI of a symbol space supported by RIF BLD and s is in the lexical space of the symbol space, or
d is not in the domain of D and does not identify a symbol space supported by RIF.
Otherwise (s, d) is an ill-typed literal. (See End note on well-typed literals)
We now formally define combinations.
An RIF-RDF combination is a pair < R,S>, where R is a Rule set and S is a set of generalized RDF graphs of a vocabulary V. When clear from the context, RIF-RDF combinations are referred to simply as combinations.