From 95c7403029a1cf7d1270cfd1802f7bee110d6bc0 Mon Sep 17 00:00:00 2001 From: Tpt Date: Sun, 24 Nov 2024 19:25:48 +0100 Subject: [PATCH] Add some tests covering regex quantifiers and options --- sparql/sparql10/regex/manifest.ttl | 132 ++++++++++++++++++ .../sparql10/regex/regex-case-insensitive.rq | 8 ++ .../sparql10/regex/regex-case-insensitive.srx | 18 +++ .../regex/regex-char-class-expression.rq | 8 ++ .../regex/regex-char-class-expression.srx | 19 +++ .../sparql10/regex/regex-data-quantifiers.ttl | 4 + sparql/sparql10/regex/regex-dot-all.rq | 8 ++ sparql/sparql10/regex/regex-dot-all.srx | 24 ++++ sparql/sparql10/regex/regex-dot.rq | 8 ++ sparql/sparql10/regex/regex-dot.srx | 18 +++ ...gex-ignore-whitespaces-class-expression.rq | 8 ++ ...ex-ignore-whitespaces-class-expression.srx | 14 ++ .../regex/regex-ignore-whitespaces.rq | 8 ++ .../regex/regex-ignore-whitespaces.srx | 13 ++ .../regex-negative-char-class-expression.rq | 8 ++ .../regex-negative-char-class-expression.srx | 19 +++ ...egex-no-metacharacters-case-insensitive.rq | 8 ++ .../sparql10/regex/regex-no-metacharacters.rq | 8 ++ .../regex/regex-no-metacharacters.srx | 13 ++ .../regex/regex-quantifier-counted-exact.rq | 8 ++ .../regex/regex-quantifier-counted-exact.srx | 13 ++ .../regex-quantifier-counted-lower-bound.rq | 8 ++ .../regex-quantifier-counted-lower-bound.srx | 23 +++ ...x-quantifier-counted-lower-upper-bounds.rq | 8 ++ ...-quantifier-counted-lower-upper-bounds.srx | 18 +++ .../regex/regex-quantifier-one-or-more.rq | 8 ++ .../regex/regex-quantifier-one-or-more.srx | 23 +++ .../regex/regex-quantifier-optional.rq | 8 ++ .../regex/regex-quantifier-optional.srx | 18 +++ .../regex/regex-quantifier-zero-or-more.rq | 8 ++ .../regex/regex-quantifier-zero-or-more.srx | 28 ++++ .../regex/regex-start-end-multiline.rq | 8 ++ .../regex/regex-start-end-multiline.srx | 20 +++ sparql/sparql10/regex/regex-start-end.rq | 8 ++ sparql/sparql10/regex/regex-start-end.srx | 13 ++ 35 files changed, 566 insertions(+) create mode 100644 sparql/sparql10/regex/regex-case-insensitive.rq create mode 100644 sparql/sparql10/regex/regex-case-insensitive.srx create mode 100644 sparql/sparql10/regex/regex-char-class-expression.rq create mode 100644 sparql/sparql10/regex/regex-char-class-expression.srx create mode 100644 sparql/sparql10/regex/regex-data-quantifiers.ttl create mode 100644 sparql/sparql10/regex/regex-dot-all.rq create mode 100644 sparql/sparql10/regex/regex-dot-all.srx create mode 100644 sparql/sparql10/regex/regex-dot.rq create mode 100644 sparql/sparql10/regex/regex-dot.srx create mode 100644 sparql/sparql10/regex/regex-ignore-whitespaces-class-expression.rq create mode 100644 sparql/sparql10/regex/regex-ignore-whitespaces-class-expression.srx create mode 100644 sparql/sparql10/regex/regex-ignore-whitespaces.rq create mode 100644 sparql/sparql10/regex/regex-ignore-whitespaces.srx create mode 100644 sparql/sparql10/regex/regex-negative-char-class-expression.rq create mode 100644 sparql/sparql10/regex/regex-negative-char-class-expression.srx create mode 100644 sparql/sparql10/regex/regex-no-metacharacters-case-insensitive.rq create mode 100644 sparql/sparql10/regex/regex-no-metacharacters.rq create mode 100644 sparql/sparql10/regex/regex-no-metacharacters.srx create mode 100644 sparql/sparql10/regex/regex-quantifier-counted-exact.rq create mode 100644 sparql/sparql10/regex/regex-quantifier-counted-exact.srx create mode 100644 sparql/sparql10/regex/regex-quantifier-counted-lower-bound.rq create mode 100644 sparql/sparql10/regex/regex-quantifier-counted-lower-bound.srx create mode 100644 sparql/sparql10/regex/regex-quantifier-counted-lower-upper-bounds.rq create mode 100644 sparql/sparql10/regex/regex-quantifier-counted-lower-upper-bounds.srx create mode 100644 sparql/sparql10/regex/regex-quantifier-one-or-more.rq create mode 100644 sparql/sparql10/regex/regex-quantifier-one-or-more.srx create mode 100644 sparql/sparql10/regex/regex-quantifier-optional.rq create mode 100644 sparql/sparql10/regex/regex-quantifier-optional.srx create mode 100644 sparql/sparql10/regex/regex-quantifier-zero-or-more.rq create mode 100644 sparql/sparql10/regex/regex-quantifier-zero-or-more.srx create mode 100644 sparql/sparql10/regex/regex-start-end-multiline.rq create mode 100644 sparql/sparql10/regex/regex-start-end-multiline.srx create mode 100644 sparql/sparql10/regex/regex-start-end.rq create mode 100644 sparql/sparql10/regex/regex-start-end.srx diff --git a/sparql/sparql10/regex/manifest.ttl b/sparql/sparql10/regex/manifest.ttl index 1d01ce22..ce8b0b9a 100644 --- a/sparql/sparql10/regex/manifest.ttl +++ b/sparql/sparql10/regex/manifest.ttl @@ -10,6 +10,13 @@ rdfs:comment "SPARQL regex test cases" ; mf:entries ( :dawg-regex-001 :dawg-regex-002 :dawg-regex-003 :dawg-regex-004 + :regex-data-quantifier-optional :regex-quantifier-zero-or-more :regex-quantifier-one-or-more + :regex-quantifier-counted-exact :regex-quantifier-counted-lower-bound :regex-quantifier-counted-lower-upper-bounds + :regex-dot :regex-dot-all + :regex-no-metacharacters :regex-no-metacharacters-case-insensitive + :regex-start-end :regex-start-end-multiline + :regex-char-class-expression :regex-negative-char-class-expression + :regex-ignore-whitespaces :regex-ignore-whitespaces-class-expression ). :dawg-regex-001 a mf:QueryEvaluationTest ; @@ -56,3 +63,128 @@ qt:data ] ; mf:result . +:regex-data-quantifier-optional a mf:QueryEvaluationTest ; + mf:name "REGEX with an ? quantifier" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-quantifier-zero-or-more a mf:QueryEvaluationTest ; + mf:name "REGEX with an * quantifier" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-quantifier-one-or-more a mf:QueryEvaluationTest ; + mf:name "REGEX with a + quantifier" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-quantifier-counted-exact a mf:QueryEvaluationTest ; + mf:name "REGEX with an {2} quantifier" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-quantifier-counted-lower-bound a mf:QueryEvaluationTest ; + mf:name "REGEX with an {,2} quantifier" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-quantifier-counted-lower-upper-bounds a mf:QueryEvaluationTest ; + mf:name "REGEX with an {2,} quantifier" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-quantifier-counted-lower-bound a mf:QueryEvaluationTest ; + mf:name "REGEX with an {,2} quantifier" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-dot a mf:QueryEvaluationTest ; + mf:name "REGEX with an . operator" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-dot-all a mf:QueryEvaluationTest ; + mf:name "REGEX with an . operator and the s option" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-case-insensitive a mf:QueryEvaluationTest ; + mf:name "REGEX with the i option" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-no-metacharacters a mf:QueryEvaluationTest ; + mf:name "REGEX with the q option" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-no-metacharacters-case-insensitive a mf:QueryEvaluationTest ; + mf:name "REGEX with the iq option" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-start-end a mf:QueryEvaluationTest ; + mf:name "REGEX with ^ and $" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-start-end-multiline a mf:QueryEvaluationTest ; + mf:name "REGEX with ^ and $ and m option" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-char-class-expression a mf:QueryEvaluationTest ; + mf:name "REGEX with [] expression" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-negative-char-class-expression a mf:QueryEvaluationTest ; + mf:name "REGEX with a [^] expression" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-ignore-whitespaces a mf:QueryEvaluationTest ; + mf:name "REGEX with the ignore spacing (x) option" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . + +:regex-ignore-whitespaces-class-expression a mf:QueryEvaluationTest ; + mf:name "REGEX with the ignore spacing (x) option with class expression" ; + mf:action + [ qt:query ; + qt:data ] ; + mf:result . diff --git a/sparql/sparql10/regex/regex-case-insensitive.rq b/sparql/sparql10/regex/regex-case-insensitive.rq new file mode 100644 index 00000000..b54df88c --- /dev/null +++ b/sparql/sparql10/regex/regex-case-insensitive.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "abc", "i") +} diff --git a/sparql/sparql10/regex/regex-case-insensitive.srx b/sparql/sparql10/regex/regex-case-insensitive.srx new file mode 100644 index 00000000..97f171c9 --- /dev/null +++ b/sparql/sparql10/regex/regex-case-insensitive.srx @@ -0,0 +1,18 @@ + + + + + + + + + abc + + + + + ABC + + + + diff --git a/sparql/sparql10/regex/regex-char-class-expression.rq b/sparql/sparql10/regex/regex-char-class-expression.rq new file mode 100644 index 00000000..5e886c4d --- /dev/null +++ b/sparql/sparql10/regex/regex-char-class-expression.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "a[b\\n]c") +} diff --git a/sparql/sparql10/regex/regex-char-class-expression.srx b/sparql/sparql10/regex/regex-char-class-expression.srx new file mode 100644 index 00000000..a7a708b2 --- /dev/null +++ b/sparql/sparql10/regex/regex-char-class-expression.srx @@ -0,0 +1,19 @@ + + + + + + + + + abc + + + + + a +c + + + + diff --git a/sparql/sparql10/regex/regex-data-quantifiers.ttl b/sparql/sparql10/regex/regex-data-quantifiers.ttl new file mode 100644 index 00000000..0199d1b4 --- /dev/null +++ b/sparql/sparql10/regex/regex-data-quantifiers.ttl @@ -0,0 +1,4 @@ +@prefix rdf: . +@prefix ex: . + +ex:foo rdf:value "ac" , "abc" , "abbc" , "abbbc" , "a\nc", "a\nb\nc" , "a.c" , "ABC" , "a?+*.{}()c" , "b" . diff --git a/sparql/sparql10/regex/regex-dot-all.rq b/sparql/sparql10/regex/regex-dot-all.rq new file mode 100644 index 00000000..5c2caa0a --- /dev/null +++ b/sparql/sparql10/regex/regex-dot-all.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "a.c", "s") +} diff --git a/sparql/sparql10/regex/regex-dot-all.srx b/sparql/sparql10/regex/regex-dot-all.srx new file mode 100644 index 00000000..5ce2a5ab --- /dev/null +++ b/sparql/sparql10/regex/regex-dot-all.srx @@ -0,0 +1,24 @@ + + + + + + + + + abc + + + + + a +c + + + + + a.c + + + + diff --git a/sparql/sparql10/regex/regex-dot.rq b/sparql/sparql10/regex/regex-dot.rq new file mode 100644 index 00000000..c2b212bb --- /dev/null +++ b/sparql/sparql10/regex/regex-dot.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "a.c") +} diff --git a/sparql/sparql10/regex/regex-dot.srx b/sparql/sparql10/regex/regex-dot.srx new file mode 100644 index 00000000..9a53086f --- /dev/null +++ b/sparql/sparql10/regex/regex-dot.srx @@ -0,0 +1,18 @@ + + + + + + + + + abc + + + + + a.c + + + + diff --git a/sparql/sparql10/regex/regex-ignore-whitespaces-class-expression.rq b/sparql/sparql10/regex/regex-ignore-whitespaces-class-expression.rq new file mode 100644 index 00000000..233f38c9 --- /dev/null +++ b/sparql/sparql10/regex/regex-ignore-whitespaces-class-expression.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, " a\n\r\t[\\n]c ", "x") +} diff --git a/sparql/sparql10/regex/regex-ignore-whitespaces-class-expression.srx b/sparql/sparql10/regex/regex-ignore-whitespaces-class-expression.srx new file mode 100644 index 00000000..15091bad --- /dev/null +++ b/sparql/sparql10/regex/regex-ignore-whitespaces-class-expression.srx @@ -0,0 +1,14 @@ + + + + + + + + + a +c + + + + diff --git a/sparql/sparql10/regex/regex-ignore-whitespaces.rq b/sparql/sparql10/regex/regex-ignore-whitespaces.rq new file mode 100644 index 00000000..32aacd73 --- /dev/null +++ b/sparql/sparql10/regex/regex-ignore-whitespaces.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, " a\n\tc ", "x") +} diff --git a/sparql/sparql10/regex/regex-ignore-whitespaces.srx b/sparql/sparql10/regex/regex-ignore-whitespaces.srx new file mode 100644 index 00000000..bb87f83e --- /dev/null +++ b/sparql/sparql10/regex/regex-ignore-whitespaces.srx @@ -0,0 +1,13 @@ + + + + + + + + + ac + + + + diff --git a/sparql/sparql10/regex/regex-negative-char-class-expression.rq b/sparql/sparql10/regex/regex-negative-char-class-expression.rq new file mode 100644 index 00000000..2f9eab0f --- /dev/null +++ b/sparql/sparql10/regex/regex-negative-char-class-expression.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "a[^b]c") +} diff --git a/sparql/sparql10/regex/regex-negative-char-class-expression.srx b/sparql/sparql10/regex/regex-negative-char-class-expression.srx new file mode 100644 index 00000000..e3fec5c9 --- /dev/null +++ b/sparql/sparql10/regex/regex-negative-char-class-expression.srx @@ -0,0 +1,19 @@ + + + + + + + + + a +c + + + + + a.c + + + + diff --git a/sparql/sparql10/regex/regex-no-metacharacters-case-insensitive.rq b/sparql/sparql10/regex/regex-no-metacharacters-case-insensitive.rq new file mode 100644 index 00000000..53a091b8 --- /dev/null +++ b/sparql/sparql10/regex/regex-no-metacharacters-case-insensitive.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "a?+*.{}()C", "iq") +} diff --git a/sparql/sparql10/regex/regex-no-metacharacters.rq b/sparql/sparql10/regex/regex-no-metacharacters.rq new file mode 100644 index 00000000..72a90cf5 --- /dev/null +++ b/sparql/sparql10/regex/regex-no-metacharacters.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "a?+*.{}()c", "q") +} diff --git a/sparql/sparql10/regex/regex-no-metacharacters.srx b/sparql/sparql10/regex/regex-no-metacharacters.srx new file mode 100644 index 00000000..af3f5a2d --- /dev/null +++ b/sparql/sparql10/regex/regex-no-metacharacters.srx @@ -0,0 +1,13 @@ + + + + + + + + + a?+*.{}()c + + + + diff --git a/sparql/sparql10/regex/regex-quantifier-counted-exact.rq b/sparql/sparql10/regex/regex-quantifier-counted-exact.rq new file mode 100644 index 00000000..81b4e83a --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-counted-exact.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "ab{2}c") +} diff --git a/sparql/sparql10/regex/regex-quantifier-counted-exact.srx b/sparql/sparql10/regex/regex-quantifier-counted-exact.srx new file mode 100644 index 00000000..69645748 --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-counted-exact.srx @@ -0,0 +1,13 @@ + + + + + + + + + abbc + + + + diff --git a/sparql/sparql10/regex/regex-quantifier-counted-lower-bound.rq b/sparql/sparql10/regex/regex-quantifier-counted-lower-bound.rq new file mode 100644 index 00000000..7cb1a5ff --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-counted-lower-bound.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "ab{1,}c") +} diff --git a/sparql/sparql10/regex/regex-quantifier-counted-lower-bound.srx b/sparql/sparql10/regex/regex-quantifier-counted-lower-bound.srx new file mode 100644 index 00000000..c97bed32 --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-counted-lower-bound.srx @@ -0,0 +1,23 @@ + + + + + + + + + abc + + + + + abbc + + + + + abbbc + + + + diff --git a/sparql/sparql10/regex/regex-quantifier-counted-lower-upper-bounds.rq b/sparql/sparql10/regex/regex-quantifier-counted-lower-upper-bounds.rq new file mode 100644 index 00000000..74aa80b3 --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-counted-lower-upper-bounds.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "ab{1,2}c") +} diff --git a/sparql/sparql10/regex/regex-quantifier-counted-lower-upper-bounds.srx b/sparql/sparql10/regex/regex-quantifier-counted-lower-upper-bounds.srx new file mode 100644 index 00000000..02a28311 --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-counted-lower-upper-bounds.srx @@ -0,0 +1,18 @@ + + + + + + + + + abc + + + + + abbc + + + + diff --git a/sparql/sparql10/regex/regex-quantifier-one-or-more.rq b/sparql/sparql10/regex/regex-quantifier-one-or-more.rq new file mode 100644 index 00000000..acd417ad --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-one-or-more.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "ab+c") +} diff --git a/sparql/sparql10/regex/regex-quantifier-one-or-more.srx b/sparql/sparql10/regex/regex-quantifier-one-or-more.srx new file mode 100644 index 00000000..dc7ef6a6 --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-one-or-more.srx @@ -0,0 +1,23 @@ + + + + + + + + + abc + + + + + abbc + + + + + abbbc + + + + diff --git a/sparql/sparql10/regex/regex-quantifier-optional.rq b/sparql/sparql10/regex/regex-quantifier-optional.rq new file mode 100644 index 00000000..cb357c04 --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-optional.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "ab?c") +} diff --git a/sparql/sparql10/regex/regex-quantifier-optional.srx b/sparql/sparql10/regex/regex-quantifier-optional.srx new file mode 100644 index 00000000..f1ed0574 --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-optional.srx @@ -0,0 +1,18 @@ + + + + + + + + + ac + + + + + abc + + + + diff --git a/sparql/sparql10/regex/regex-quantifier-zero-or-more.rq b/sparql/sparql10/regex/regex-quantifier-zero-or-more.rq new file mode 100644 index 00000000..95f521e8 --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-zero-or-more.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "ab*c") +} diff --git a/sparql/sparql10/regex/regex-quantifier-zero-or-more.srx b/sparql/sparql10/regex/regex-quantifier-zero-or-more.srx new file mode 100644 index 00000000..8d4e3751 --- /dev/null +++ b/sparql/sparql10/regex/regex-quantifier-zero-or-more.srx @@ -0,0 +1,28 @@ + + + + + + + + + ac + + + + + abc + + + + + abbc + + + + + abbbc + + + + diff --git a/sparql/sparql10/regex/regex-start-end-multiline.rq b/sparql/sparql10/regex/regex-start-end-multiline.rq new file mode 100644 index 00000000..330f035f --- /dev/null +++ b/sparql/sparql10/regex/regex-start-end-multiline.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "^b$", "m") +} diff --git a/sparql/sparql10/regex/regex-start-end-multiline.srx b/sparql/sparql10/regex/regex-start-end-multiline.srx new file mode 100644 index 00000000..6983e4c1 --- /dev/null +++ b/sparql/sparql10/regex/regex-start-end-multiline.srx @@ -0,0 +1,20 @@ + + + + + + + + + b + + + + + a +b +c + + + + diff --git a/sparql/sparql10/regex/regex-start-end.rq b/sparql/sparql10/regex/regex-start-end.rq new file mode 100644 index 00000000..e79a4f85 --- /dev/null +++ b/sparql/sparql10/regex/regex-start-end.rq @@ -0,0 +1,8 @@ +PREFIX rdf: +PREFIX ex: + +SELECT ?val +WHERE { + ex:foo rdf:value ?val . + FILTER regex(?val, "^b$") +} diff --git a/sparql/sparql10/regex/regex-start-end.srx b/sparql/sparql10/regex/regex-start-end.srx new file mode 100644 index 00000000..d97d7e48 --- /dev/null +++ b/sparql/sparql10/regex/regex-start-end.srx @@ -0,0 +1,13 @@ + + + + + + + + + b + + + +