sparlx.rnc in CVS

Folks,

This has no status whatever, of course, but I decided to checkin the
latest RNC schema for SparqlX into CVS, in case others wanted to look
at or work on it.

It's valid and improved over the last version I sent to the list. In
particular, there was a spurious <pattern-group> element that's been
removed completely. As well as a few other changes, mostly to
cardinalities of some stuff arising from Andy's comments.

Once someone on Team makes it accessible, it should be available as

     http://www.w3.org/2001/sw/DataAccess/sparqlx.rnc

And I'm including it in this message, as well.

Kendall Clark

#$Id: sparqlx.rnc,v 1.1 2005/03/23 21:02:32 kclark Exp $

default namespace = "http://www.w3.org/2001/sw/DataAccess/sparql-xml-syntax/"

start =
    element rdf-query {
        (element ask { empty }
         | element construct {
               triple-pattern
               | element graph-template { triple-pattern+ }
           }
         | element describe { variable*, uri? }
         | element select {
               attribute distinct { xsd:boolean }?,
               attribute limit { xsd:int }?,
               attribute offset { xsd:int }?,
               variable+
           }),
        element query-pattern {
            triple-pattern*,
            (group-pattern*
             | element dataset-constraint { (uri | variable), (group-pattern+ | triple-pattern+) }*
             | element union { group-pattern+ | group-pattern+ }*)
        }?
    }
variable =
    element variable {
        attribute name { xsd:NCName }
    }
uri = element uri { xsd:anyURI }
triple-pattern =
    element triple-pattern {
        attribute optional { xsd:boolean }?,
        element subject { bnode | uri | variable },
        element predicate { bnode | uri | variable },
        element object {
            bnode
            | uri
            | variable
            | element literal {
                  attribute datatype { xsd:anyURI }?,
                  attribute lang { xsd:NCName }?,
                  text
              }
        },
        constraint?
    }
group-pattern =
    element group-pattern {
        attribute optional { xsd:boolean }?,
        (group-pattern*, triple-pattern*, constraint?)
    }
bnode =
    element bnode {
        attribute id { xsd:NCName }
    }
# this needs lots of work...
constraint = element constraint { (text | variable)+ }

Received on Wednesday, 23 March 2005 21:07:52 UTC