Re: Corrected sparqlx schema (sent the wrong one previously)

element query-pattern {
     (group-pattern
        | element pattern-group {
            triple-pattern?            <<---- can be empty
          }
        | element optional-group {
            pattern-group
          }
        | element dataset-constraint {
            (uri | variable), (group-pattern)
          }*
         ^^^^ ????? why *
        | element union { group-pattern* }
     )
   }

modelled after:


[13] GraphPattern ::= ... PatternElement * ...
                       // And some hoops for trailing dots as per F2F5

[14] PatternElement ::=   Triples
                         | OptionalGraphPattern
                         | UnionGraphPattern
                         | GraphPattern
                         | GraphGraphPattern // GRAPH
                         | Constraint

[15] OptionalGraphPattern ::= 'optional' GraphPattern
[16] GraphGraphPattern    ::= 'graph' VarOrBNodeOrURI GraphPattern
[17] UnionGraphPattern 	  ::= GraphPattern ( 'union' GraphPattern )*

etc etc.

Kendall Clark wrote:
> 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 15:13:10 UTC