Skip to content

Commit e44787c

Browse files
Tptafs
andauthored
SPARQL 1.2: rdf:dirLangString with DATATYPE, CONCAT and CONTAINS (#273)
Co-authored-by: Andy Seaborne <andy@apache.org>
1 parent a1de58c commit e44787c

9 files changed

Lines changed: 149 additions & 6 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
SELECT
2+
(CONCAT("a"@en--ltr, "b"@en--ltr) AS ?r1)
3+
(CONCAT("a"@en--ltr, "b"@en--rtl) AS ?r2)
4+
(CONCAT("a"@en--ltr, "b"@en) AS ?r3)
5+
(CONCAT("a"@en, "b"@en--ltr) AS ?r4)
6+
(CONCAT("a"@en--ltr, "b"@en--ltr, "c"@en--ltr) AS ?r5)
7+
(CONCAT("a"@en--ltr, "b", "c"@en--ltr) AS ?r6)
8+
(CONCAT("a"@en, "b", "c"@en--ltr) AS ?r7)
9+
WHERE {}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{ "head": {
2+
"vars": [ "r1" , "r2" , "r3" , "r4" , "r5" , "r6" , "r7" ]
3+
} ,
4+
"results": {
5+
"bindings": [
6+
{
7+
"r1": { "type": "literal" , "xml:lang": "en" , "its:dir": "ltr" , "value": "ab" } ,
8+
"r2": { "type": "literal" , "value": "ab" } ,
9+
"r3": { "type": "literal" , "value": "ab" } ,
10+
"r4": { "type": "literal" , "value": "ab" } ,
11+
"r5": { "type": "literal" , "xml:lang": "en" , "its:dir": "ltr" , "value": "abc" } ,
12+
"r6": { "type": "literal" , "value": "abc" } ,
13+
"r7": { "type": "literal" , "value": "abc" }
14+
}
15+
]
16+
}
17+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ASK { FILTER(CONTAINS("abc"@en--ltr, "b"@en--ltr) && CONTAINS("abc"@en--ltr, "b")) }
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"head": {},
3+
"boolean": true
4+
}

sparql/sparql12/lang-basedir/data-empty.ttl

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SELECT (DATATYPE("foo"@en--ltr) AS ?dt) WHERE {}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"head": {
3+
"vars": [ "dt" ]
4+
},
5+
"results": {
6+
"bindings": [
7+
{
8+
"dt": { "type": "uri", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString" }
9+
}
10+
]
11+
}
12+
}

sparql/sparql12/lang-basedir/index.html

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,81 @@ <h2>
280280
</dd>
281281
</dl>
282282
</dd>
283+
<dt id='datatype'>
284+
<a class='testlink' href='#datatype'>
285+
datatype:
286+
</a>
287+
<span about='manifest#datatype' property='mf:name'>DATATYPE and rdf:dirLangString</span>
288+
</dt>
289+
<dd inlist='true' property='mf:entry' resource='manifest#datatype' typeof='mf:QueryEvaluationTest'>
290+
<div property='rdfs:comment'>
291+
</div>
292+
<dl class='test-detail'>
293+
<dt>type</dt>
294+
<dd>mf:QueryEvaluationTest</dd>
295+
<dt>approval</dt>
296+
<dd property='mf:approval' resource=''></dd>
297+
<dt>action</dt>
298+
<dd>
299+
<dl class='test-detail' property='mf:action' resource=''>
300+
</dl>
301+
</dd>
302+
<dt>result</dt>
303+
<dd>
304+
<a href='datatype.srj' property='mf:result'>datatype.srj</a>
305+
</dd>
306+
</dl>
307+
</dd>
308+
<dt id='concat'>
309+
<a class='testlink' href='#concat'>
310+
concat:
311+
</a>
312+
<span about='manifest#concat' property='mf:name'>CONCAT and rdf:dirLangString</span>
313+
</dt>
314+
<dd inlist='true' property='mf:entry' resource='manifest#concat' typeof='mf:QueryEvaluationTest'>
315+
<div property='rdfs:comment'>
316+
</div>
317+
<dl class='test-detail'>
318+
<dt>type</dt>
319+
<dd>mf:QueryEvaluationTest</dd>
320+
<dt>approval</dt>
321+
<dd property='mf:approval' resource=''></dd>
322+
<dt>action</dt>
323+
<dd>
324+
<dl class='test-detail' property='mf:action' resource=''>
325+
</dl>
326+
</dd>
327+
<dt>result</dt>
328+
<dd>
329+
<a href='concat.srj' property='mf:result'>concat.srj</a>
330+
</dd>
331+
</dl>
332+
</dd>
333+
<dt id='contains'>
334+
<a class='testlink' href='#contains'>
335+
contains:
336+
</a>
337+
<span about='manifest#contains' property='mf:name'>CONTAINS and rdf:dirLangString</span>
338+
</dt>
339+
<dd inlist='true' property='mf:entry' resource='manifest#contains' typeof='mf:QueryEvaluationTest'>
340+
<div property='rdfs:comment'>
341+
</div>
342+
<dl class='test-detail'>
343+
<dt>type</dt>
344+
<dd>mf:QueryEvaluationTest</dd>
345+
<dt>approval</dt>
346+
<dd property='mf:approval' resource=''></dd>
347+
<dt>action</dt>
348+
<dd>
349+
<dl class='test-detail' property='mf:action' resource=''>
350+
</dl>
351+
</dd>
352+
<dt>result</dt>
353+
<dd>
354+
<a href='contains.srj' property='mf:result'>contains.srj</a>
355+
</dd>
356+
</dl>
357+
</dd>
283358
</dl>
284359
</div>
285360
<footer>

sparql/sparql12/lang-basedir/manifest.ttl

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
:langdir-literal-invalid
1818
:strlang
1919
:strlangdir
20+
:datatype
21+
:concat
22+
:contains
2023
) .
2124

2225

@@ -65,8 +68,7 @@
6568
rdfs:comment "Function LANGDIR" ;
6669
dawgt:approval dawgt:Proposed ;
6770
mf:action
68-
[ qt:query <langdir-literal.rq> ;
69-
qt:data <data-empty.ttl> ] ;
71+
[ qt:query <langdir-literal.rq> ] ;
7072
mf:result <langdir-literal.srj> ;
7173
.
7274

@@ -81,8 +83,7 @@
8183
rdfs:comment "Function STRLANG" ;
8284
dawgt:approval dawgt:Proposed ;
8385
mf:action
84-
[ qt:query <strlang.rq> ;
85-
qt:data <data-empty.ttl> ] ;
86+
[ qt:query <strlang.rq> ] ;
8687
mf:result <strlang.srj> ;
8788
.
8889

@@ -91,7 +92,30 @@
9192
rdfs:comment "Function STRLANGDIR" ;
9293
dawgt:approval dawgt:Proposed ;
9394
mf:action
94-
[ qt:query <strlangdir.rq> ;
95-
qt:data <data-empty.ttl> ] ;
95+
[ qt:query <strlangdir.rq> ] ;
9696
mf:result <strlangdir.srj> ;
9797
.
98+
99+
:datatype rdf:type mf:QueryEvaluationTest ;
100+
mf:name "DATATYPE and rdf:dirLangString";
101+
dawgt:approval dawgt:Proposed ;
102+
mf:action
103+
[ qt:query <datatype.rq> ] ;
104+
mf:result <datatype.srj> ;
105+
.
106+
107+
:concat rdf:type mf:QueryEvaluationTest ;
108+
mf:name "CONCAT and rdf:dirLangString";
109+
dawgt:approval dawgt:Proposed ;
110+
mf:action
111+
[ qt:query <concat.rq> ] ;
112+
mf:result <concat.srj> ;
113+
.
114+
115+
:contains rdf:type mf:QueryEvaluationTest ;
116+
mf:name "CONTAINS and rdf:dirLangString";
117+
dawgt:approval dawgt:Proposed ;
118+
mf:action
119+
[ qt:query <contains.rq> ] ;
120+
mf:result <contains.srj> ;
121+
.

0 commit comments

Comments
 (0)