Corrected sparqlx schema (sent the wrong one previously)

On Wed, Mar 23, 2005 at 02:46:05PM +0000, Seaborne, Andy wrote:
> I thought it might be something like that - you'd said your were doing 
> examples so I followed the examples.

Even worse, I simply included the wrong schema in my zip file. Doh!

Here's the "correct" one -- that is, the one that actually schematizes
the examples.

I'm pretty sure I've got something wrong or non-optimal w/r/t the
groupings and triple patterns, Andy, but I guess I'm too dumb to
figure out what it is from yr feedback so far.

Kendall
--
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 pattern-group {
           attribute optional { xsd:boolean },
           triple-pattern+
         }
       | element dataset-constraint {
           (uri | variable), (group-pattern | triple-pattern+)
         }*
       | element union { triple-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 { 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 }?,
    triple-pattern+,
    constraint?
  }
bnode =
  element bnode {
    attribute id { xsd:NCName }
  }
constraint = element constraint { (text | variable)+ }

Received on Wednesday, 23 March 2005 14:59:18 UTC