diff --git a/spec/index.html b/spec/index.html index 6a1582a..e237aec 100644 --- a/spec/index.html +++ b/spec/index.html @@ -347,7 +347,7 @@

Abstract

RDF is a directed, labeled graph data model for representing information in the - Web. This specification defines the syntax and semantics of the SPARQL query language for + Web. This specification defines the syntax and semantics of the SPARQL Query Language for RDF. SPARQL can be used to express queries across diverse data sources, whether the data is stored natively as RDF or viewed as RDF via middleware. SPARQL contains capabilities for querying required and optional graph patterns along with their conjunctions and @@ -374,11 +374,11 @@

Introduction

RDF is a directed, labeled graph data model for representing information in the Web. RDF is often used to represent, among other things, personal information, social networks, metadata about digital artifacts, as well as to provide a means of integration over disparate sources of - information. This specification defines the syntax and semantics of the SPARQL query language + information. This specification defines the syntax and semantics of the SPARQL Query Language for RDF.

- The SPARQL query language for RDF is designed to meet the use cases and + The SPARQL Query Language for RDF is designed to meet the use cases and requirements identified by the RDF Data Access Working Group in [[RDF-DAWG-UC]], the SPARQL 1.1 Working Group in [[SPARQL-FEATURES]], and the RDF-star Working Group.

@@ -390,7 +390,7 @@

Document Outline

This section of the document, section 1, introduces the SPARQL - query language specification. It presents the organization of this specification document and + Query Language specification. It presents the organization of this specification document and the conventions used throughout the specification.

@@ -5364,7 +5364,7 @@

Operator Extensibility

Function Definitions

-

This section defines the operators and functions introduced by the SPARQL Query language. +

This section defines the operators and functions introduced by the SPARQL query language. The examples show the behavior of the operators as invoked by the appropriate grammatical constructs.

@@ -10510,30 +10510,49 @@

Notes

SPARQL Grammar

The SPARQL grammar covers both SPARQL Query and [[[SPARQL11-UPDATE]]].

-

SPARQL Request String

+

SPARQL String

- A SPARQL Request String is - a SPARQL Query String or SPARQL Update String and is a Unicode character string - (c.f. section 6.1 String concepts of [[CHARMOD]]) in the language defined by the following - grammar.

+ + A SPARQL string is an + RDF string that + conforms to the grammar given in this section. +

+

+ An RDF string is + a sequence of + Unicode code points + which are Unicode scalar values. + Unicode scalar values do not include the + surrogate code points. +

- A SPARQL Query String starts - at the QueryUnit production.

+ + A SPARQL query string is a + SPARQL string that conforms to the grammar starting at + the QueryUnit production. +

- A SPARQL Update String starts - at the UpdateUnit production.

-

For compatibility with future versions of Unicode, the characters in this string may + + A SPARQL update string is a + SPARQL string that conforms to the grammar starting at + the UpdateUnit production. +

+

+ For compatibility with future versions of Unicode, the characters in this string may include Unicode codepoints that are unassigned as of the date of this publication (see [[[UAX31]]] [[UAX31]] section 4 Pattern Syntax). For productions with excluded character classes (for example [^<>'{}|^`]), the characters are excluded from the - range #x0 - #x10FFFF.

+ range #x0 - #x10FFFF. +

Codepoint Escape Sequences

-

A SPARQL Query String is processed for codepoint escape sequences before parsing by the +

+ A SPARQL string is processed for codepoint escape sequences before parsing by the grammar defined in EBNF below. The codepoint escape sequences for a SPARQL query string - are:

+ are: +

@@ -10551,7 +10570,9 @@

Codepoint Escape Sequences

HEXHEX + encoded hexadecimal value, excluding U+D800 to U+DFFF, the + surrogate code points. + + encoded hexadecimal value, excluding U+D800 to U+DFFF, the + surrogate code points. +
A Unicode code point in the range U+0 to U+FFFF inclusive corresponding to the - encoded hexadecimal value.
@@ -10559,7 +10580,9 @@

Codepoint Escape Sequences

HEX HEX HEX HEX HEX HEX
A Unicode code point in the range U+0 to U+10FFFF inclusive corresponding to the - encoded hexadecimal value.
@@ -10572,13 +10595,16 @@

Codepoint Escape Sequences

<ab\u00E9xy> # Codepoint 00E9 is Latin small e with acute - é \u03B1:a # Codepoint x03B1 is Greek small alpha - α a\u003Ab # a:b -- codepoint x3A is colon -

Codepoint escape sequences can appear anywhere in the query string. They are processed +

+ Codepoint escape sequences can appear anywhere in the query string. They are processed before parsing based on the grammar rules and so may be replaced by codepoints with - significance in the grammar, such as ":" marking a prefixed name.

+ significance in the grammar, such as ":" marking a prefixed name. +

These escape sequences are not included in the grammar below. Only escape sequences for characters that would be legal at that point in the grammar may be given. For example, the variable "?x\u0020y" is not legal (\u0020 is a space and is not - permitted in a variable name).

+ permitted in a variable name). +

White Space

@@ -10626,22 +10652,22 @@

Blank Nodes and Blank Node Identifiers

  • DELETE DATA
  • a DeleteClause
  • -

    in a SPARQL Update +

    in a SPARQL update request.

    Blank node identifiers - are scoped to the SPARQL Request String in which they occur. + are scoped to the SPARQL string in which they occur. Different uses of the same blank node identifier in a request string refer to the same blank node. Fresh blank nodes are generated for each request; blank nodes can not be referenced by identifier across requests.

    The same blank node identifier can not be used in:

    • two separate basic graph patterns in a SPARQL Query
    • -
    • two WHERE clauses within a single SPARQL Update +
    • two WHERE clauses within a single SPARQL update request
    • two INSERT DATA operations within a single - SPARQL Update request
    • + SPARQL update request

    Note that the same blank node identifier can occur in different QuadPattern clauses in a [[[SPARQL11-UPDATE]]] request.

    @@ -10720,8 +10746,8 @@

    Grammar

  • Escape sequences are case sensitive.
  • When tokenizing the input and choosing grammar rules, the longest match is chosen.
  • The SPARQL grammar is LL(1) when the rules with uppercased names are used as terminals.
  • -
  • There are two entry points into the grammar: QueryUnit for SPARQL queries, - and UpdateUnit for SPARQL Update requests.
  • +
  • There are two entry points into the grammar: QueryUnit for the SPARQL query language + and UpdateUnit for the SPARQL update language.
  • In signed numbers, no white space is allowed between the sign and the number. The AdditiveExpression grammar rule allows for this by covering the two cases of an expression followed by a signed number. These @@ -12123,7 +12149,7 @@

    Grammar

    Conformance

    See Section 19 SPARQL Grammar regarding conformance of - SPARQL Query strings, and section + SPARQL query strings, and section 16 Query Forms for conformance of query results. See section 22. Internet Media Type for conformance to the application/sparql-query media type.