RXR is another alternative XML syntax for RDF, from Dave Beckett.

An example:

<graph xmlns="http://ilrt.org/discovery/2004/03/rxr/">
  
  <triple>
    <subject uri="http://ex.net"/>
    <predicate uri="http://purl.org/dc/elements/1.1/title"/>
    <object>Test Title</object>
  </triple>
  
</rxr:graph>

The schema:

# 
# Regular XML RDF (RXR) 2004-03-18
#
# Dave Beckett, ILRT, University of Bristol - http://purl.org/net/dajobe/
#
# XML Namespace = http://ilrt.org/discovery/2004/03/rxr/
# 
# As at DTD, this is identified by the PUBLIC and SYSTEM identifiers:
# 
# PUBLIC "-//ILRT//DTD RXR 20040318//EN"
# SYSTEM  "http://ilrt.org/discovery/2004/03/rxr/rxr.dtd"
#
# As a W3C XML Schema, the schema location is
# http://ilrt.org/discovery/2004/03/rxr/rxr.xsd
#
# As a RELAX NG XML Schema, the schema document is
# http://ilrt.org/discovery/2004/03/rxr/rxr.rng (XML)
# http://ilrt.org/discovery/2004/03/rxr/rxr.rnc (Compact)
#


# ================== Imported Names ====================================

default namespace = "http://ilrt.org/discovery/2004/03/rxr/"

# a language code, see [RFC1766]
LanguageCode = xsd:language

# an RDF URI Reference, see [RDF Concepts and Abstract Syntax]
URI = xsd:anyURI

# an RDF blank node identifier, see [RDF Concepts and Abstract Syntax]
BLANK = xsd:NMTOKEN

# =================== Generic Attributes ===============================

# internationalization attributes
# xml:lang        language code (as per XML 1.0 spec)
i18n = attribute xml:lang { LanguageCode }?

# ================= Document Elements ==================================
graph = element graph { i18n, triple* }

triple =
  element triple { i18n, subject, predicate, (object | collection) }

subject =
  element subject {
    (
      attribute uri { URI } |
      attribute blank { BLANK }
    ),
    empty
  }

predicate =
  element predicate {
    attribute uri { URI },
    empty
  }

object =
  element object {
    i18n,
    (
      attribute uri { URI } |
      attribute blank { BLANK } |
      attribute datatype { URI }
    ) ?,
    text
  }

collection = element collection { object* }

start = graph

RXR (last edited 2009-08-12 18:04:23 by localhost)