version 1.101, 2007/05/15
16:30:16 |
version 1.107, 2007/09/04
14:36:46 |
|
|
</ul> |
</ul> |
|
|
<h2>2 <a
id="basicpatterns" name="basicpatterns">Making Simple
Queries</a> (Informative)</h2> |
<h2>2 <a
id="basicpatterns" name="basicpatterns">Making Simple
Queries</a> (Informative)</h2> |
<p>The SPARQL query language is based on matching
graph patterns. Graph |
<p>Most forms of SPARQL query contain a set of
triple patterns called a <em>basic graph pattern</em>.
Triple patterns are like RDF triples except that each of the
subject, predicate and object may be a variable. A basic graph
pattern <em>matches</em> a subgraph of the RDF data
when <a href="#defn_RDFTerm">RDF terms</a> from that
subgraph may be substituted for the variables and the result is RDF
graph equivalent to the subgraph.</p> |
patterns contain triple patterns. Triple patterns are
like RDF triples, but with the option |
|
of a query variables in place of <a
href="#defn_RDFTerm">RDF terms</a> in the
subject, |
|
predicate or object positions. Combining triple patterns
gives a basic graph pattern, |
|
where an exact match to a graph is
needed.</p> |
|
<h3>2.1
<a id="WritingSimpleQueries"
name="WritingSimpleQueries">Writing a Simple |
<h3>2.1
<a id="WritingSimpleQueries"
name="WritingSimpleQueries">Writing a Simple |
Query</a></h3> |
Query</a></h3> |
<p>The
example below shows a SPARQL query to find the title of a book from
the |
<p>The
example below shows a SPARQL query to find the title of a book from
the |
|
|
</div> |
</div> |
|
|
<h3>2.4
<a id="BlankNodesInResults" name="BlankNodesInResults">Blank
Node Labels in Query Results</a></h3> |
<h3>2.4
<a id="BlankNodesInResults" name="BlankNodesInResults">Blank
Node Labels in Query Results</a></h3> |
<p>Query results can contain labeled blank
nodes.</p> |
<p> |
|
Query results can contain blank nodes. Blank nodes in the
example |
|
result sets in this document are written in the
form |
|
"_:" followed by a blank node label. |
|
</p> |
|
|
<p>Blank
node labels are scoped to a result set (as defined in
"<a class="inform" href="http://www.w3.org/TR/rdf-sparql-XMLres/">SPARQL |
<p>Blank
node labels are scoped to a result set (as defined in
"<a class="inform" href="http://www.w3.org/TR/rdf-sparql-XMLres/">SPARQL |
Query Results XML
Format</a>") or, for the
<code>CONSTRUCT</code> query |
Query Results XML
Format</a>") or, for the
<code>CONSTRUCT</code> query |
form, the result
graph. |
form, the result
graph. |
|
|
is given in <a
href="#grammar">appendix A</a>.</p> |
is given in <a
href="#grammar">appendix A</a>.</p> |
<h3>4.1
<a id="syntaxTerms" name="syntaxTerms">RDF Term
Syntax</a></h3> |
<h3>4.1
<a id="syntaxTerms" name="syntaxTerms">RDF Term
Syntax</a></h3> |
<h4>4.1.1
<a id="QSynIRI" name="QSynIRI">Syntax for
IRIs</a></h4> |
<h4>4.1.1
<a id="QSynIRI" name="QSynIRI">Syntax for
IRIs</a></h4> |
<p>The terms delimited by
"<code><></code>" are
IRI references [<a
href="#rfc3987">RFC3987</a>]; |
|
the delimiters do not form part of the reference. IRI
references stand for IRIs, either directly |
<p>The <a href="#rIRIref">IRIref</a>
production designates the set of IRIs [<a
href="#rfc3987">RFC3987</a>]; IRIs are a generalization of
URIs [<a href="#rfc3986">RFC3986</a>] and are fully
compatible with URIs and URLs. The <a
href="#rPrefixedName">PrefixedName</a> production
designates a prefixed name. The mapping from a prefixed name to an
IRI is described below. IRI references (relative or absolute IRIs)
are designated by the <a href="#rIRI_REF">IRI_REF</a>
production, where the '<' and '>' delimiters do not
form part of the IRI reference. Relative IRIs match the
irelative-ref reference in section 2.2 ABNF for IRI References and
IRIs in [<a href="#rfc3987">RFC3987</a>] and are
resolved to IRIs as described below.</p> |
or relative to a base IRI. IRIs are a generalization of
URIs [<a href="#rfc3986">RFC3986</a>] |
|
and are fully compatible with URIs and
URLs.</p> |
|
<p>The SPARQL syntax provides two abbreviation
mechanisms for IRIs: prefixed names |
|
and relative IRIs.</p> |
|
<p
class="todo">@@Check this against the final
grammar.</p> |
<p
class="todo">@@Check this against the final
grammar.</p> |
<div
class="grammarExtract"> |
<div
class="grammarExtract"> |
Grammar
rules:<div class="grammarTable"> |
Grammar
rules:<div class="grammarTable"> |
|
|
<li><code>"""The
librarian said, "Perhaps you would enjoy 'War and
Peace'.""""</code></li> |
<li><code>"""The
librarian said, "Perhaps you would enjoy 'War and
Peace'.""""</code></li> |
<li><code>1</code>, which is the same as
<code>"1"^^xsd:integer</code></li> |
<li><code>1</code>, which is the same as
<code>"1"^^xsd:integer</code></li> |
<li><code>1.3</code>, which is the same as
<code>"1.3"^^xsd:decimal</code></li> |
<li><code>1.3</code>, which is the same as
<code>"1.3"^^xsd:decimal</code></li> |
|
<li><code>1.300</code>, which is the same
as
<code>"1.300"^^xsd:decimal</code></li> |
<li><code>1.0e6</code>, which is the same
as
<code>"1.0e6"^^xsd:double</code></li> |
<li><code>1.0e6</code>, which is the same
as
<code>"1.0e6"^^xsd:double</code></li> |
<li><code>true</code>, which is the same as
<code>"true"^^xsd:boolean</code></li> |
<li><code>true</code>, which is the same as
<code>"true"^^xsd:boolean</code></li> |
<li><code>false</code>, which is the same
as
<code>"false"^^xsd:boolean</code></li> |
<li><code>false</code>, which is the same
as
<code>"false"^^xsd:boolean</code></li> |
|
|
</table> |
</table> |
</div> |
</div> |
</div> |
</div> |
|
|
|
<p> |
|
Tokens matching the productions <a
href="#rINTEGER">INTEGER</a>, <a
href="#rDECIMAL">DECIMAL</a>, <a
href="#rDOUBLE">DOUBLE</a> and |
|
<a href="#rBooleanLiteral">BooleanLiteral</a> are
equivalent to a typed |
|
literal with the lexical value of the token and the
corresponding |
|
datatype (<code>xsd:integer</code>,
<code>xsd:decimal</code>,
<code>xsd:double</code>,
<code>xsd:boolean</code>). |
|
</p> |
|
|
<h4>4.1.3
<a id="QSynVariables" name="QSynVariables">Syntax for Query
Variables</a></h4> |
<h4>4.1.3
<a id="QSynVariables" name="QSynVariables">Syntax for Query
Variables</a></h4> |
<p>Query
variables in SPARQL queries have global scope; use of a given
variable |
<p>Query
variables in SPARQL queries have global scope; use of a given
variable |
name anywhere in a
query identifies the same variable. Variables are prefixed
by |
name anywhere in a
query identifies the same variable. Variables are prefixed
by |
|
|
</div> |
</div> |
</div> |
</div> |
<h3>4.2
<a id="QSynTriples" name="QSynTriples">Syntax for Triple
Patterns</a></h3> |
<h3>4.2
<a id="QSynTriples" name="QSynTriples">Syntax for Triple
Patterns</a></h3> |
<p><a href="#defn_TriplePattern">Triple
Patterns</a> are written as a list of subject, |
<p><a href="#defn_TriplePattern">Triple
Patterns</a> are written as a whitespace-separated list of a
subject, |
predicate, object; there are abbreviated ways of writing
some common triple pattern |
predicate and object; there are abbreviated ways of
writing some common triple pattern |
constructs.</p> |
constructs.</p> |
<p>The
following examples express the same query:</p> |
<p>The
following examples express the same query:</p> |
<pre
class="query"> |
<pre
class="query"> |
|
|
conjunction: basic
graph patterns, which combine triples patterns, and
group |
conjunction: basic
graph patterns, which combine triples patterns, and
group |
graph patterns,
which combine all other graph patterns.</p> |
graph patterns,
which combine all other graph patterns.</p> |
|
|
|
<p>The outer-most graph pattern in a query is
called the query pattern. It is grammatically identified by
<code>GroupGraphPattern</code> in</p> |
|
|
|
<table> |
|
<tr valign="baseline"> |
|
<td><code
class="gRuleLabel">[13] </code></td> |
|
<td><code class="gRuleHead"><a
href="#rWhereClause">WhereClause</a></code></td> |
|
<td> ::= </td> |
|
<td><code class="gRuleBody"><span
class="token">'WHERE'</span>? <a
href="#rGroupGraphPattern">GroupGraphPattern</a></code></td> |
|
</tr> |
|
</table> |
|
|
<h3>5.1
<a id="BasicGraphPatterns" name="BasicGraphPatterns">Basic
Graph Patterns</a></h3> |
<h3>5.1
<a id="BasicGraphPatterns" name="BasicGraphPatterns">Basic
Graph Patterns</a></h3> |
|
|
<p>Basic
graph patterns are sets of triple patterns. SPARQL graph
pattern |
<p>Basic
graph patterns are sets of triple patterns. SPARQL graph
pattern |
|
|
<li>Blank nodes</li> |
<li>Blank nodes</li> |
<li>IRIs</li> |
<li>IRIs</li> |
<li>RDF literals</li> |
<li>RDF literals</li> |
<li>A plain literal is lower than an RDF literal with
type <code>xsd:string</code> |
|
of the same lexical form.</li> |
|
</ol> |
</ol> |
|
|
<p>The relative order of literals with language
tags or typed literals with different types is
undefined.</p> |
<p>A plain literal is lower than an RDF literal
with type <code>xsd:string</code> of the same lexical
form.</p> |
|
|
|
<p>SPARQL does not define a total ordering of
all possible RDF terms. Here are a few examples of pairs of terms
for which the relative order is undefined:</p> |
|
|
|
<ul> |
|
<li>"a" and "a"@en_gb (a simple literal
and a literal with a language tag)</li> |
|
<li>"a"@en_gb and
"b"@en_gb</li> |
|
<li>"a" and "1"^^xsd:integer (a simple
literal and a literal with a supported data
type)</li> |
|
<li>"1"^^my:integer and "2"^^my:integer
(a supported data type and an unsupported data
type)</li> |
|
<li>"1"^^xsd:integer and
"2"^^my:integer</li> |
|
</ul> |
|
|
<p>This list of variable bindings is in ascending
order:</p> |
<p>This list of variable bindings is in ascending
order:</p> |
|
|
|
|
is determined by
the SPARQL query processor. The query pattern is used to
create |
is determined by
the SPARQL query processor. The query pattern is used to
create |
a result set. The
<code>DESCRIBE</code> form takes each of the resources
identified |
a result set. The
<code>DESCRIBE</code> form takes each of the resources
identified |
in a solution,
together with any resources directly named by IRI, and
assembles |
in a solution,
together with any resources directly named by IRI, and
assembles |
a single RDF graph by taking a
"description" from the target RDF Dataset.
The |
a single RDF graph by taking a
"description" which can come from any |
|
information available including the target RDF Dataset.
The |
description is
determined by the query service. The syntax <code>DESCRIBE
*</code> |
description is
determined by the query service. The syntax <code>DESCRIBE
*</code> |
is an abbreviation
that describes all of the variables in a
query.</p> |
is an abbreviation
that describes all of the variables in a
query.</p> |
|
|
|
|
<p>The XQuery <a href="http://www.w3.org/TR/xquery/#id-ebv">
Effective Boolean Value</a> rules rely on the definition of
XPath's <a
href="http://www.w3.org/TR/xpath-functions/#func-boolean">fn:boolean</a>.
The following rules reflect the rules for
<code>fn:boolean</code> applied to the argument types
present in SPARQL Queries:</p> |
<p>The XQuery <a href="http://www.w3.org/TR/xquery/#id-ebv">
Effective Boolean Value</a> rules rely on the definition of
XPath's <a
href="http://www.w3.org/TR/xpath-functions/#func-boolean">fn:boolean</a>.
The following rules reflect the rules for
<code>fn:boolean</code> applied to the argument types
present in SPARQL Queries:</p> |
|
|
<ul> |
<ul> |
|
<li>The EBV of any literal whose type is
<code>xsd:boolean</code>,
<code>xsd:string</code> or <span class="type
">numeric</span> is false if the lexical form is not valid
for that datatype (e.g. "abc"^^xsd:integer).</li> |
<li>If the argument is a <span class="type
typedLiteral">typed literal</span> with a <span
class="type datatype">datatype</span> of
<code>xsd:boolean</code>, the EBV is the value of that
argument.</li> |
<li>If the argument is a <span class="type
typedLiteral">typed literal</span> with a <span
class="type datatype">datatype</span> of
<code>xsd:boolean</code>, the EBV is the value of that
argument.</li> |
<li>If the argument is a <span class="type
plainLiteral">plain literal</span> or a <span
class="type typedLiteral">typed literal</span> with a
<span class="type datatype">datatype</span> of
<code>xsd:string</code>, the EBV is false if the
operand value has zero length; otherwise the EBV is
true.</li> |
<li>If the argument is a <span class="type
plainLiteral">plain literal</span> or a <span
class="type typedLiteral">typed literal</span> with a
<span class="type datatype">datatype</span> of
<code>xsd:string</code>, the EBV is false if the
operand value has zero length; otherwise the EBV is
true.</li> |
<li>If the argument is a <span class="type
numeric">numeric</span> type or a <span class="type
typedLiteral">typed literal</span> with a datatype derived
from a <span class="type numeric">numeric</span> type,
the EBV is false if the operand value is NaN or is numerically
equal to zero; otherwise the EBV is true.</li> |
<li>If the argument is a <span class="type
numeric">numeric</span> type or a <span class="type
typedLiteral">typed literal</span> with a datatype derived
from a <span class="type numeric">numeric</span> type,
the EBV is false if the operand value is NaN or is numerically
equal to zero; otherwise the EBV is true.</li> |
|
|
<div class="algExample2"> |
<div class="algExample2"> |
LeftJoin(<br/> |
LeftJoin(<br/> |
Join(Z, BGP(?s :p1
?v1)),<br/> |
Join(Z, BGP(?s :p1
?v1)),<br/> |
Join(Z, BGP(?s :p1 ?v1))
),<br/> |
Join(Z, BGP(?s :p2 ?v2))
),<br/> |
true) |
true) |
</div> |
</div> |
|
|
|
|
<div class="algExample2"> |
<div class="algExample2"> |
LeftJoin(<br/> |
LeftJoin(<br/> |
Join(Z, BGP(?s
:p1 ?v1)),<br/> |
Join(Z, BGP(?s
:p1 ?v1)),<br/> |
Join(Z, BGP(?s
:p1 ?v1)),<br/> |
Join(Z, BGP(?s
:p2 ?v2)),<br/> |
(?v1<3)
) |
(?v1<3)
) |
</div> |
</div> |
|
|
|
|
cardinality
function giving the number of occurrences of each element from
the |
cardinality
function giving the number of occurrences of each element from
the |
set in the
multiset.</p> |
set in the
multiset.</p> |
|
|
|
<p>Write μ for solution mappings and
</p> |
<p>Write μ<sub>0</sub> for the
mapping such that dom(μ<sub>0</sub>) is the
empty set.</p> |
<p>Write μ<sub>0</sub> for the
mapping such that dom(μ<sub>0</sub>) is the
empty set.</p> |
|
|
<p>Write Ω<sub>0</sub> for the
multiset consisting of exactly the empty mapping
μ<sub>0,</sub> with |
<p>Write Ω<sub>0</sub> for the
multiset consisting of exactly the empty mapping
μ<sub>0,</sub> with |
|
|
<p>If μ<sub>1</sub> and
μ<sub>2</sub> are compatible then
μ<sub>1</sub> <i>set-union</i>
μ<sub>2</sub> |
<p>If μ<sub>1</sub> and
μ<sub>2</sub> are compatible then
μ<sub>1</sub> <i>set-union</i>
μ<sub>2</sub> |
is
also a mapping. Write merge(μ<sub>1</sub>,
μ<sub>2</sub>) for
μ<sub>1</sub> <i>set-union</i>
μ<sub>2</sub></p> |
is
also a mapping. Write merge(μ<sub>1</sub>,
μ<sub>2</sub>) for
μ<sub>1</sub> <i>set-union</i>
μ<sub>2</sub></p> |
|
|
<p>Write card[Ω](μ) for the
cardinality of μ in a multiset of mappings
Ω. |
<p>Write card[Ω](μ) for the
cardinality of solution mapping μ in a multiset |
If μ is not a member of Ω, cardinality is
not defined.</p> |
of mappings Ω.</p> |
|
|
<h4>12.3.1 <a id="BGPsparql"
name="BGPsparql">SPARQL Basic Graph Pattern
Matching</a></h4> |
<h4>12.3.1 <a id="BGPsparql"
name="BGPsparql">SPARQL Basic Graph Pattern
Matching</a></h4> |
|
|
|
|
<b>Definition: Basic Graph Pattern
Matching</b> |
<b>Definition: Basic Graph Pattern
Matching</b> |
<p>Let BGP be a basic graph pattern and let G be an RDF
graph.</p> |
<p>Let BGP be a basic graph pattern and let G be an RDF
graph.</p> |
<p>μ is a <b>solution</b> for BGP
from G when there is a pattern instance |
<p>μ is a <b>solution</b> for BGP
from G when there is a pattern instance |
mapping P such that P(BGP) is a subgraph of G and
μ is a restriction of P to |
mapping P such that P(BGP) is a subgraph of G and
μ is the restriction of P to |
the
query variables in BGP.</p> |
the
query variables in BGP.</p> |
<p>card[Ω](μ) =
card[Ω](number of distinct RDF instance mappings,
σ, |
<p>card[Ω](μ) =
card[Ω](number of distinct RDF instance mappings,
σ, |
such
that P = μ(σ) is a pattern instance mapping and
P(BGP) is a subgraph of G).</p> |
such
that P = μ(σ) is a pattern instance mapping and
P(BGP) is a subgraph of G).</p> |
|
|
<div
class="defn"> |
<div
class="defn"> |
<p><b>Definition: <a id="defn_algLeftJoin"
name="defn_algLeftJoin">LeftJoin</a></b></p> |
<p><b>Definition: <a id="defn_algLeftJoin"
name="defn_algLeftJoin">LeftJoin</a></b></p> |
|
|
<p>Let Ω<sub>1</sub> and
Ω<sub>2</sub> be multisets of solution
mappings and F a filter. We define:</p> |
<p>Let Ω<sub>1</sub> and
Ω<sub>2</sub> be multisets of solution
mappings and |
|
expr be an expression. We
define:</p> |
|
|
<p>LeftJoin(Ω<sub>1</sub>,
Ω<sub>2</sub>, expr) = Filter(expr,
Join(Ω<sub>1</sub>, |
<p>LeftJoin(Ω<sub>1</sub>,
Ω<sub>2</sub>, expr) = Filter(expr,
Join(Ω<sub>1</sub>, |
Ω<sub>2</sub>))
<i>set-union</i>
Diff(Ω<sub>1</sub>,
Ω<sub>2</sub>, expr)</p> |
Ω<sub>2</sub>))
<i>set-union</i>
Diff(Ω<sub>1</sub>,
Ω<sub>2</sub>, expr)</p> |
|
|
D[i] : The graph
with IRI i in dataset D |
D[i] : The graph
with IRI i in dataset D |
D[DFT] : the
default graph of D |
D[DFT] : the
default graph of D |
P, P1, P2 : graph
patterns |
P, P1, P2 : graph
patterns |
L : a solution sequence |
L : a solution sequence</pre> |
</pre> |
|
|
|
<div
class="defn"> |
<div
class="defn"> |
<b>Definition: <a id="defn_evalFilter"
name="defn_evalFilter">Evaluation of Filter(P,
F)</a></b> |
<b>Definition: <a id="defn_evalFilter"
name="defn_evalFilter">Evaluation of Filter(F, |
|
P)</a></b> |
<pre class="code"> |
<pre class="code"> |
eval(D(G), Filter(P, F)) = Filter(eval(D(G),
F))</pre> |
eval(D(G), Filter(F, P)) = Filter(F,
eval(D(G),P))</pre> |
</div> |
</div> |
|
|
<div
class="defn"> |
<div
class="defn"> |
<b>Definition: <a id="defn_evalJoin"
name="defn_evalJoin">Evaluation of Join(P1, P2,
F)</a></b> |
<b>Definition: <a id="defn_evalJoin"
name="defn_evalJoin">Evaluation of |
|
Join(P1, P2)</a></b> |
<pre class="code"> |
<pre class="code"> |
eval(D(G),
Join(P1, P2)) = Join(eval(D(G), P1), eval(D(G),
P2))</pre> |
eval(D(G),
Join(P1, P2)) = Join(eval(D(G), P1), eval(D(G),
P2))</pre> |
</div> |
</div> |
|
|
<div
class="defn"> |
<div
class="defn"> |
<b>Definition: <a id="defn_evalGraph"
name="defn_evalGraph">Evaluation of a Graph
Pattern</a></b> |
<b>Definition: <a id="defn_evalGraph"
name="defn_evalGraph">Evaluation of a Graph
Pattern</a></b> |
<pre class="code"> |
<pre class="code"> |
eval(D(G), Graph(IRI,P)) = eval(D(D[IRI]),
P) |
if IRI is a graph name in D |
|
eval(D(G), Graph(IRI,P)) = eval(D(D[IRI]),
P)</pre> |
|
<pre class="code"> |
|
if IRI is not a graph name in D |
|
eval(D(G), Graph(IRI,P)) = the empty
multiset</pre> |
|
<pre class="code"> |
eval(D(G),
Graph(var,P)) = |
eval(D(G),
Graph(var,P)) = |
Let
R be the empty multiset |
Let
R be the empty multiset |
foreach IRI i in D |
foreach IRI i in D |
|
|
<h2><a name="chlog" id="chlog">Change
Log</a></h2> |
<h2><a name="chlog" id="chlog">Change
Log</a></h2> |
<p>Raw CVS log:</p> |
<p>Raw CVS log:</p> |
<pre> |
<pre> |
<!-- log starts on next line, not this one --> |
|
|
|
$Log$ |
$Log$ |
Revision 1.101 2007/05/15 16:30:16
eric |
Revision 1.107 2007/09/04 14:36:46
eric |
~ well-formed XML |
~ tentative answer to action X |
|
|
|
Revision 1.106 2007/08/31 13:42:56
eric |
|
+ rule for EBV of <a href="http://www.w3.org/TR/rdf-mt/#illformedliteral">ill-formed</a>
<code>xsd:boolean</code>,
<code>xsd:string</code> or <span class="type
">numeric</span> in 11.2.2 <a href="#ebv">Effective
Boolean Value</a> to address <a
href="http://www.w3.org/mid/46B83B29.9020605@hpl.hp.com">JJC's
suggestions</a>. |
|
|
|
Revision 1.105 2007/08/07 10:01:52
aseaborne |
|
Eval of Join had mistake in defn title |
|
|
|
Revision 1.104 2007/08/06 08:48:25
aseaborne |
|
[EDITORIAL] <a href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007Aug/0000">2007Aug/0000</a> |
|
|
|
|
|
|
|
12.5 Evaluation semantics of Filter: Corrected
to: |
|
|
|
eval(D(G), Filter(F, P)) = Filter(F,
eval(D(G),P)) |
|
|
|
Revision 1.103 2007/07/13 15:59:07
aseaborne |
|
[EDITORIAL] |
|
|
|
|
|
|
|
1/ 12.5 Evaluation semantics |
|
|
|
Explicitly note that GRAPH <uri> for
<uri> not in the dataset is the empty
multiset |
|
|
|
<a href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007May/0016">2007May/0016</a> |
|
|
|
|
Revision 1.100 2007/05/10 17:18:15
eric |
|
+ SimonR's at-risk text from 6D4A1AC1-5F11-4D3C-8B20-8B1A1EDA1EF2@itee.uq.edu.au |
|
+ <a href="#modOrderBy">9.1 ORDER BY</a>
explicity references <a href="#operatorExtensibility">11.3.1
Operator Extensibility</a> |
|
- removed issue text: DESCRIBE may be further
constrained in future versions... |
|
~ updated issue stylings |
|
+ <a href="#rPN_LOCAL">PN_LOCAL</a>
references <a href="#notXmlQNames">Not all Prefixed Names are
XML QNames</a> |
|
|
|
Revision 1.99 2007/05/10 12:50:39
aseaborne |
2a/ Style change for algebra examples. |
Added at-risk style to 'reduced' note in
12.4 |
|
|
|
Revision 1.98 2007/05/10 10:49:32
aseaborne |
2b/ Fix cut&paste errors for algebra examples
(optionals) |
Use 'solution' for 'answer' in 12.2.3 |
|
|
|
Revision 1.97 2007/05/10 09:38:38
aseaborne |
<a href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007Jul/0001">2007Jul/0001</a> |
Empty pattern is Z, noted it is the empty
BGP |
|
|
|
Revision 1.96 2007/05/03 17:32:42
lfeigenb |
|
added at-risk notice to reduced text in section
12 |
|
|
|
Revision 1.95 2007/05/03 14:06:17
aseaborne |
|
Add REDUCED into the SPARQL algebra |
|
|
|
Revision 1.94 2007/05/02 18:19:14
eric |
3/ 10.4: Note that the description can include any
information the query processor chooses to include. |
+ <a href="#modDuplicates">9.3 Duplicate
Solutions</a> |
|
~ moved <code>DISTINT</code> and
<code>REDUCED</code> into <a
href="#modDistinct">9.3.1 DISTINCT</a> and <a
href="#modReduced">9.3.2 REDUCED</a>
respectively |
|
|
|
Revision 1.93 2007/05/01 18:00:48
aseaborne |
<a href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007May/0023">2007May/0023</a> |
Formatting |
|
|
|
Revision 1.92 2007/05/01 17:49:52
aseaborne |
|
Prefixed name tidying |
|
|
|
Revision 1.91 2007/05/01 16:52:44
aseaborne |
|
Grammar update for decision on digits in localname
(decision : telecon of 2007-05-01) |
|
|
|
Some renaming to remove misleading qname
terminology. |
4/ 4.1.2: Add example: |
|
|
Revision 1.90 2007/05/01 09:13:41
aseaborne |
1.300, which is the same as
"1.300"^^xsd:decimal |
Fix ref link |
|
|
|
Revision 1.89 2007/04/30 13:49:06
aseaborne |
|
Changes in response to: <a |
|
href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007Apr/0007.html" |
|
>2007Apr/0007</a> |
|
|
|
+ Added text to sec 5 intro to compare/contrast BGPs and
groups. |
|
|
|
+ Added a forward pointer in 8.2 for GRAPH used in
example. |
5/ 12.3.1: |
|
|
+ Removed "overall solution sequence" text from offset
bullet item |
Definition: Basic Graph Pattern Matching |
|
|
+ Consistent use of "query form", not "result
form" |
"mu is s/a/the/ restriction ..." |
|
|
+ Swappped ASK and DESCRIBE sections |
|
|
|
+ Sec 12.2.1: explicitly note the recursive
transformation. |
|
|
|
+ Added explanation of ToList symbol |
6/ 12.3 |
|
|
+ Added that project can't chnage the sequence
order. |
Add "solution mapping" in |
|
|
Revision 1.88 2007/04/29 23:48:53
eric |
"Write card[omega](mu) for the cardinality of solution
mapping mu ..." |
~ fixed prototype of example aGeo:distance function per
<a href="http://www.w3.org/mid/44AE7B72.8060606@hp.com">[Fwd:
[SPARQL] candidate Recommendation]</a> |
|
|
|
Revision 1.87 2007/04/28 20:30:54
eric |
|
+ REDUCED in <a href="#sparqlGrammar">A.8
Grammar</a> and <a href="#sparqlQuery">12.2 SPARQL
Query</a> per <a href="http://www.w3.org/mid/6a8224ab0704240022p39c7dfe3ka11e968a55ec221@mail.gmail.com">Questions
about REDUCED, LeftJoin, Join</a> |
|
|
|
Revision 1.86 2007/04/26 14:36:54
eric |
|
~ [EDITORIAL] change section headings for
2.3.1-3:s/Matching/Matching Literals with/ per <a href="http://www.w3.org/mid/20070419132536.9D4994C4B@toro.w3.mag.keio.ac.jp">[SPARQL]
i18n comment: Renaming Section on \"Matching Language
Tags\"</a> |
|
+ Note that RDF has no empty language tags in ?<a
href="#func-lang" class="SPARQLoperator">11.4.6 lang</a>
per <a href="http://www.w3.org/mid/20070419132811.7B6D24C0F@toro.w3.mag.keio.ac.jp">[SPARQL]
i18n comment: Modification in description of langMatches
operator</a> |
|
~ [EDITORIAL] change order of term descriptions in <a
href="#func-langMatches" class="SPARQLoperator">11.4.12
langMatches</a> |
|
|
|
Revision 1.85 2007/04/22 17:31:17
eric |
7/ Editorial from: <a |
~ changed stylesheet back to TR/base |
href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007May/0035">2007May/0035</a> |
~ s|<code>ASCENDING</code>}ascending} per
<a href="http://www.w3.org/mid/4624FBA3.4060608@deri.org">Re:
Last Call for comments on "SPARQL Query Language for
RDF"</a> |
|
~ s|<code>DECENDING</code>}decending} per
<a href="http://www.w3.org/mid/4624FBA3.4060608@deri.org">Re:
Last Call for comments on "SPARQL Query Language for
RDF"</a> |
|
~ changed wording of <a href="#modOrderBy">9.1
ORDER BY</a> per <a href="http://www.w3.org/mid/4624FBA3.4060608@deri.org">Re:
Last Call for comments on "SPARQL Query Language for
RDF"</a> |
|
|
|
Revision 1.84 2007/04/22 00:08:18
eric |
12.3: Remove "If mu is not a member of Omega, cardinality is
not defined." |
+ [CLARIFICATION] <a href="#func-langMatches"
class="SPARQLoperator">langMatches</a> uses (or at least,
always has) [<a href="#rfc4647">RFC4647</a>]
basic filtering. |
|
Responds to comment <a href="http://www.w3.org/mid/4614C2B4.9070407@hpl.hp.com">11.4.12
langMatches</a> and <a
href="http://www.w3.org/mid/20070419132811.7B6D24C0F@toro.w3.mag.keio.ac.jp">[SPARQL]
i18n comment: Modification in description of langMatches
operator</a>. |
|
|
|
Revision 1.83 2007/04/21 03:01:31
eric |
|
+ ref to [<a href="#BCP47">BCP47</a>] in
2.3.1 <a href="#matchLangTags">Matching Language
Tags</a> per comment <a href="http://www.w3.org/mid/20070419132419.9ACF74BAD@toro.w3.mag.keio.ac.jp">[SPARQL]
i18n comment: Adding a reference to BCP47</a> |
|
+ [EDITORIAL] ref to <code class="gRuleHead"><a
href="#rBlankNodePropertyList">BlankNodePropertyList</a></code>
in 4.1.4 <a href="#QSynBlankNodes">Syntax for Blank
Nodes</a> per comment <a href="http://www.w3.org/mid/4624FBA3.4060608@deri.org">Re:
Last Call for comments on "SPARQL Query Language for
RDF"</a> |
|
~ [EDITORIAL] wording change in 5.2.1 <a
href="#emptyGroupPattern">Empty Group Pattern</a> per
comment <a href="http://www.w3.org/mid/4624FBA3.4060608@deri.org">Re:
Last Call for comments on "SPARQL Query Language for
RDF"</a> |
|
~ [EDITORIAL] wording change in 7 <a
href="#alternatives">Matching Alternatives</a> per comment
<a href="http://www.w3.org/mid/4624FBA3.4060608@deri.org">Re:
Last Call for comments on "SPARQL Query Language for
RDF"</a> |
|
~ [EDITORIAL] wording change in 8 <a
href="#rdfDataset">RDF Dataset</a> per comment <a
href="http://www.w3.org/mid/4624FBA3.4060608@deri.org">Re:
Last Call for comments on "SPARQL Query Language for
RDF"</a> |
|
~ [EDITORIAL] typos |
|
+ normative ref to [<a
href="#BCP47">BCP47</a>]per comment <a href="http://www.w3.org/mid/20070419132419.9ACF74BAD@toro.w3.mag.keio.ac.jp">[SPARQL]
i18n comment: Adding a reference to BCP47</a> |
|
|
|
Revision 1.82 2007/04/10 13:03:51
aseaborne |
|
Fixed defn for diff (quatify over bothg clauses) and
eval of graph |
|
|
|
(cardinality). |
8/ 12.4 LeftJoin: Replace "F a filter" with "expr is an
expression" |
|
|
Add informative refrences. |
Revision 1.102 2007/07/11 16:57:12
eric |
|
~ [EDITORIAL, INFORMATIVE] <a
href="#basicpatterns">Making Simple Queries</a> ? 1
following <a href="http://www.w3.org/mid/20070517200742.GB4091@w3.org">offer
to pfps</a>. |
|
|
Revision 1.81 2007/04/09 16:43:40
aseaborne |
~ [EDITORIAL, INFORMATIVE] replaced <a
href="#BlankNodesInResults">Blank Node Labels in Query
Results</a> ? 1 with <a href="http://www.w3.org/mid/20070526210541.GF4091@w3.org">description
of blank node lables used in the examples</a>. |
Changes in response to <a |
|
href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007Mar/0000" |
|
>2007Mar/0008</a> as noted in <a |
|
href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007Apr/0004" |
|
>2007Apr/0003</a> |
|
|
|
Revision 1.80 2007/04/07 17:35:56
aseaborne |
~ [EDITORIAL] replaced <a href="#QSynIRI">Syntax
for IRIs</a> ? 1 with <a href="http://www.w3.org/mid/20070518004333.GC4091@w3.org">ordered
processing of IRI shorthand syntaxes</a>. |
Changes in response to <a |
|
href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007Mar/0008" |
|
>2007Mar/0008</a> as noted in <a |
|
href="http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2007Apr/0003" |
|
>2007Apr/0003</a> |
|
|
|
Revision 1.79 2007/04/04 09:30:37
aseaborne |
+ [EDITORIAL] <a href="#QSynLiterals">Syntax for
Literals</a> new ? 5 has <a href="http://www.w3.org/mid/20070526210541.GF4091@w3.org">text</a>
clarifying role of <a href="#rINTEGER">INTEGER</a>,
<a href="#rDECIMAL">DECIMAL</a>, <a
href="#rDOUBLE">DOUBLE</a> and <a
href="#rBooleanLiteral">BooleanLiteral</a>
productions. |
Fix eval defn of ToList and other modifiers
(editorial) |
|
|
|
Revision 1.78 2007/04/04 09:23:14
aseaborne |
~ [EDITORIAL] <a href="#QSynTriples">Syntax for
Triple Patterns</a> ? 1: indicate that spo lists are <a
href="http://www.w3.org/mid/20070518004333.GC4091@w3.org">not
expressed as mathematical lists</a>. |
Fix eval defn of ToList and other modifiers
(editorial) |
|
|
|
Revision 1.77 2007/03/27 02:58:40
eric |
+ [EDITORIAL] <a href="#GraphPattern">Graph
Patterns</a> ? 3: <a href="http://www.w3.org/mid/20070518004333.GC4091@w3.org">identify
the term "query pattern"</a>. |
~ fix variable name typo |
|
|
|
</pre></div> |
</pre></div> |
|
|