├── .github ├── ISSUE_TEMPLATE │ ├── blank.md │ └── use-case.md └── workflows │ └── ci.yml ├── .gitignore ├── .pr-preview.json ├── CONTRIBUTING.md ├── Gemfile ├── Gemfile.lock ├── LICENSE.md ├── Minutes ├── 2020-11-13.html ├── 2020-11-20.html ├── 2020-11-27.html ├── 2020-12-04.html ├── 2020-12-11.html ├── 2020-12-18.html ├── 2021-01-08.html ├── 2021-01-15.html ├── 2021-01-22.html ├── 2021-02-05.html ├── 2021-02-12.html ├── 2021-02-19.html ├── 2021-02-26.html ├── 2021-03-05.html ├── 2021-03-12.html ├── 2021-03-19.html ├── 2021-03-26.html ├── 2021-04-09.html ├── 2021-04-23.html ├── 2021-04-30.html ├── 2021-05-07.html ├── 2021-05-14.html ├── 2021-05-21.html ├── 2021-05-28.html ├── 2021-06-04.html ├── 2021-06-11.html ├── 2021-06-18.html ├── 2021-07-02.html ├── 2021-07-16.html ├── 2021-09-03.html ├── 2021-09-17.html ├── 2021-10-01.html ├── 2021-10-15.html ├── 2021-10-29.html ├── 2021-11-12.html ├── 2021-12-03.html ├── 2021-12-17.html ├── 2022-01-07.html ├── 2022-01-21.html ├── 2022-02-11.html ├── 2022-03-04.html ├── 2022-03-25.html ├── 2022-04-08.html ├── 2022-05-06.html ├── 2022-05-20.html ├── 2022-06-10.html ├── index.html └── update-index.sh ├── README.md ├── UCR ├── README.md └── rdf-star-ucr.html ├── cg-spec ├── 2021-02-18-src.html ├── 2021-02-18.html ├── 2021-04-13-src.html ├── 2021-04-13.html ├── 2021-07-01-src.html ├── 2021-07-01.html ├── 2021-12-17-src.html ├── 2021-12-17.html ├── editors_draft.html ├── index.html └── visual-map-bg.svg ├── css ├── README.md ├── bootstrap.css ├── bootstrap.css.map ├── bootstrap.min.css ├── bootstrap.min.css.map └── rdf-star.css ├── ebnf ├── n-quads.ebnf ├── n-quads.html ├── n-triples.ebnf ├── n-triples.html ├── sparql.ebnf ├── sparql.html ├── trig.ebnf ├── trig.html ├── turtle.ebnf └── turtle.html ├── implementations.html ├── index.html ├── presentations ├── RDF-star_EBDVF.pdf ├── RDF-star_Lotico.pdf └── index.html ├── rdf-star-cg-spec.html ├── reports ├── .earl ├── README.md ├── Rakefile ├── apache-jena.ttl ├── earl.jsonld ├── earl.ttl ├── eye-turtle.ttl ├── index.html ├── oxigraph-sparql.ttl ├── oxigraph-turtle.ttl ├── rdf-ex-nt.ttl ├── rdf-ex-turtle.ttl ├── ruby-sparql.ttl ├── ruby-trig.ttl └── template.haml ├── tests ├── Makefile ├── index.html ├── make-html-manifests.py ├── make-jsonld-manifests.rb ├── manifest-context.jsonld ├── manifest.html ├── manifest.jsonld ├── manifest.ttl ├── nt │ └── syntax │ │ ├── index.html │ │ ├── manifest.html │ │ ├── manifest.jsonld │ │ ├── manifest.ttl │ │ ├── ntriples-star-bad-syntax-1.nt │ │ ├── ntriples-star-bad-syntax-2.nt │ │ ├── ntriples-star-bad-syntax-3.nt │ │ ├── ntriples-star-bad-syntax-4.nt │ │ ├── ntriples-star-bnode-1.nt │ │ ├── ntriples-star-bnode-2.nt │ │ ├── ntriples-star-bnode-bad-annotated-syntax-1.nt │ │ ├── ntriples-star-bnode-bad-annotated-syntax-2.nt │ │ ├── ntriples-star-nested-1.nt │ │ ├── ntriples-star-nested-2.nt │ │ ├── ntriples-star-nested-bad-annotated-syntax-1.nt │ │ ├── ntriples-star-nested-bad-annotated-syntax-2.nt │ │ ├── ntriples-star-syntax-1.nt │ │ ├── ntriples-star-syntax-2.nt │ │ ├── ntriples-star-syntax-3.nt │ │ ├── ntriples-star-syntax-4.nt │ │ └── ntriples-star-syntax-5.nt ├── semantics │ ├── README │ ├── canonical-literal-control.ttl │ ├── canonical-literal.ttl │ ├── control-sameas-a.ttl │ ├── control-sameas-r.ttl │ ├── index.html │ ├── lowercase-language-string-control.ttl │ ├── lowercase-language-string.ttl │ ├── malformed-literal-2a.ttl │ ├── malformed-literal-2r.ttl │ ├── malformed-literal-3a.ttl │ ├── malformed-literal-3r.ttl │ ├── malformed-literal-control.ttl │ ├── malformed-literal-other.ttl │ ├── malformed-literal.ttl │ ├── manifest.html │ ├── manifest.jsonld │ ├── manifest.ttl │ ├── non-canonical-literal-control.ttl │ ├── non-canonical-literal.ttl │ ├── superman.ttl │ ├── superman_undesired_entailment.ttl │ ├── test000o.ttl │ ├── test000s.ttl │ ├── test001a.ttl │ ├── test001r.ttl │ ├── test002a.ttl │ ├── test002or.ttl │ ├── test002pgr.ttl │ ├── test002r.ttl │ ├── test002sbr.ttl │ ├── test002sor.ttl │ ├── test002sr.ttl │ ├── test003a.ttl │ ├── test003r.ttl │ ├── test004a.ttl │ ├── test004fr.ttl │ ├── test004or.ttl │ ├── test004sr.ttl │ ├── test005.ttl │ ├── test006a.ttl │ ├── test006r.ttl │ ├── test007a.ttl │ ├── test007a2.ttl │ ├── test007r1.ttl │ ├── test007r2.ttl │ ├── upercase-language-string-control.ttl │ └── upercase-language-string.ttl ├── sparql │ ├── eval │ │ ├── data-0.ttl │ │ ├── data-1.ttl │ │ ├── data-2.ttl │ │ ├── data-3.ttl │ │ ├── data-4.trig │ │ ├── data-5.ttl │ │ ├── data-6.trig │ │ ├── data-7.ttl │ │ ├── data-order-kind.ttl │ │ ├── data-order.ttl │ │ ├── empty.nq │ │ ├── index.html │ │ ├── manifest.html │ │ ├── manifest.jsonld │ │ ├── manifest.ttl │ │ ├── sparql-star-basic-2.rq │ │ ├── sparql-star-basic-2.srj │ │ ├── sparql-star-basic-3.rq │ │ ├── sparql-star-basic-3.srj │ │ ├── sparql-star-basic-4.rq │ │ ├── sparql-star-basic-4.srj │ │ ├── sparql-star-basic-5.rq │ │ ├── sparql-star-basic-5.srj │ │ ├── sparql-star-basic-6.rq │ │ ├── sparql-star-basic-6.srj │ │ ├── sparql-star-construct-1.rq │ │ ├── sparql-star-construct-1.ttl │ │ ├── sparql-star-construct-2.rq │ │ ├── sparql-star-construct-2.ttl │ │ ├── sparql-star-construct-3.rq │ │ ├── sparql-star-construct-3.ttl │ │ ├── sparql-star-construct-4.rq │ │ ├── sparql-star-construct-4.ttl │ │ ├── sparql-star-construct-5.rq │ │ ├── sparql-star-construct-5.ttl │ │ ├── sparql-star-expr-01.rq │ │ ├── sparql-star-expr-01.ttl │ │ ├── sparql-star-expr-02.rq │ │ ├── sparql-star-expr-02.srj │ │ ├── sparql-star-graphs-1.rq │ │ ├── sparql-star-graphs-1.srj │ │ ├── sparql-star-graphs-2.rq │ │ ├── sparql-star-graphs-2.srj │ │ ├── sparql-star-op-1.rq │ │ ├── sparql-star-op-1.srj │ │ ├── sparql-star-op-2.rq │ │ ├── sparql-star-op-2.srj │ │ ├── sparql-star-op-3.rq │ │ ├── sparql-star-op-3.srj │ │ ├── sparql-star-op-4.rq │ │ ├── sparql-star-op-4.srj │ │ ├── sparql-star-order-1.srj │ │ ├── sparql-star-order-2.srj │ │ ├── sparql-star-order-by.rq │ │ ├── sparql-star-pattern-01.rq │ │ ├── sparql-star-pattern-01.srj │ │ ├── sparql-star-pattern-02.rq │ │ ├── sparql-star-pattern-02.srj │ │ ├── sparql-star-pattern-03.rq │ │ ├── sparql-star-pattern-03.srj │ │ ├── sparql-star-pattern-04.rq │ │ ├── sparql-star-pattern-04.srj │ │ ├── sparql-star-pattern-05.rq │ │ ├── sparql-star-pattern-05.srj │ │ ├── sparql-star-pattern-06.rq │ │ ├── sparql-star-pattern-06.srj │ │ ├── sparql-star-pattern-07.rq │ │ ├── sparql-star-pattern-07.srj │ │ ├── sparql-star-pattern-08.rq │ │ ├── sparql-star-pattern-08.srj │ │ ├── sparql-star-pattern-09.rq │ │ ├── sparql-star-pattern-09.srj │ │ ├── sparql-star-results-1.rq │ │ ├── sparql-star-results-1.srj │ │ ├── sparql-star-results-1.srx │ │ ├── sparql-star-update-1.ru │ │ ├── sparql-star-update-2.ru │ │ ├── sparql-star-update-3.ru │ │ ├── update-result-1.trig │ │ ├── update-result-2.trig │ │ └── update-result-3.trig │ └── syntax │ │ ├── index.html │ │ ├── manifest.html │ │ ├── manifest.jsonld │ │ ├── manifest.ttl │ │ ├── sparql-star-annotation-01.rq │ │ ├── sparql-star-annotation-02.rq │ │ ├── sparql-star-annotation-03.rq │ │ ├── sparql-star-annotation-04.rq │ │ ├── sparql-star-annotation-05.rq │ │ ├── sparql-star-annotation-06.rq │ │ ├── sparql-star-annotation-07.rq │ │ ├── sparql-star-annotation-08.rq │ │ ├── sparql-star-annotation-09.rq │ │ ├── sparql-star-syntax-bad-01.rq │ │ ├── sparql-star-syntax-bad-02.rq │ │ ├── sparql-star-syntax-bad-03.rq │ │ ├── sparql-star-syntax-bad-04.rq │ │ ├── sparql-star-syntax-bad-05.rq │ │ ├── sparql-star-syntax-bad-06.rq │ │ ├── sparql-star-syntax-bad-07.rq │ │ ├── sparql-star-syntax-bad-08.rq │ │ ├── sparql-star-syntax-bad-09.rq │ │ ├── sparql-star-syntax-bad-10.rq │ │ ├── sparql-star-syntax-bad-11.rq │ │ ├── sparql-star-syntax-bad-12.rq │ │ ├── sparql-star-syntax-bad-ann-1.rq │ │ ├── sparql-star-syntax-bad-ann-2.rq │ │ ├── sparql-star-syntax-bad-ann-path-1.rq │ │ ├── sparql-star-syntax-bad-ann-path-2.rq │ │ ├── sparql-star-syntax-bad-ann-path-3.rq │ │ ├── sparql-star-syntax-bad-ann-path-4.rq │ │ ├── sparql-star-syntax-bad-ann-path-5.rq │ │ ├── sparql-star-syntax-bad-ann-path-6.rq │ │ ├── sparql-star-syntax-bad-ann-path-7.rq │ │ ├── sparql-star-syntax-bad-update-1.ru │ │ ├── sparql-star-syntax-bad-update-2.ru │ │ ├── sparql-star-syntax-bad-update-3.ru │ │ ├── sparql-star-syntax-bad-update-4.ru │ │ ├── sparql-star-syntax-basic-01.rq │ │ ├── sparql-star-syntax-basic-02.rq │ │ ├── sparql-star-syntax-basic-03.rq │ │ ├── sparql-star-syntax-basic-04.rq │ │ ├── sparql-star-syntax-basic-05.rq │ │ ├── sparql-star-syntax-basic-06.rq │ │ ├── sparql-star-syntax-basic-07.rq │ │ ├── sparql-star-syntax-bnode-01.rq │ │ ├── sparql-star-syntax-bnode-02.rq │ │ ├── sparql-star-syntax-bnode-03.rq │ │ ├── sparql-star-syntax-compound.rq │ │ ├── sparql-star-syntax-expr-01.rq │ │ ├── sparql-star-syntax-expr-02.rq │ │ ├── sparql-star-syntax-expr-03.rq │ │ ├── sparql-star-syntax-expr-04.rq │ │ ├── sparql-star-syntax-expr-05.rq │ │ ├── sparql-star-syntax-expr-06.rq │ │ ├── sparql-star-syntax-inside-01.rq │ │ ├── sparql-star-syntax-inside-02.rq │ │ ├── sparql-star-syntax-nested-01.rq │ │ ├── sparql-star-syntax-nested-02.rq │ │ ├── sparql-star-syntax-update-1.ru │ │ ├── sparql-star-syntax-update-2.ru │ │ ├── sparql-star-syntax-update-3.ru │ │ ├── sparql-star-syntax-update-4.ru │ │ ├── sparql-star-syntax-update-5.ru │ │ ├── sparql-star-syntax-update-6.ru │ │ ├── sparql-star-syntax-update-7.ru │ │ └── sparql-star-syntax-update-8.ru ├── trig │ ├── eval │ │ ├── index.html │ │ ├── manifest.html │ │ ├── manifest.jsonld │ │ ├── manifest.ttl │ │ ├── trig-star-eval-01.nq │ │ ├── trig-star-eval-01.trig │ │ ├── trig-star-eval-02.nq │ │ ├── trig-star-eval-02.trig │ │ ├── trig-star-eval-annotation-1.nq │ │ ├── trig-star-eval-annotation-1.trig │ │ ├── trig-star-eval-annotation-2.nq │ │ ├── trig-star-eval-annotation-2.trig │ │ ├── trig-star-eval-annotation-3.nq │ │ ├── trig-star-eval-annotation-3.trig │ │ ├── trig-star-eval-annotation-4.nq │ │ ├── trig-star-eval-annotation-4.trig │ │ ├── trig-star-eval-annotation-5.nq │ │ ├── trig-star-eval-annotation-5.trig │ │ ├── trig-star-eval-bnode-1.nq │ │ ├── trig-star-eval-bnode-1.trig │ │ ├── trig-star-eval-bnode-2.nq │ │ ├── trig-star-eval-bnode-2.trig │ │ ├── trig-star-eval-quoted-annotation-1.nq │ │ ├── trig-star-eval-quoted-annotation-1.trig │ │ ├── trig-star-eval-quoted-annotation-2.nq │ │ ├── trig-star-eval-quoted-annotation-2.trig │ │ ├── trig-star-eval-quoted-annotation-3.nq │ │ └── trig-star-eval-quoted-annotation-3.trig │ └── syntax │ │ ├── index.html │ │ ├── manifest.html │ │ ├── manifest.jsonld │ │ ├── manifest.ttl │ │ ├── trig-star-annotation-1.trig │ │ ├── trig-star-annotation-2.trig │ │ ├── trig-star-syntax-bad-01.trig │ │ ├── trig-star-syntax-bad-02.trig │ │ ├── trig-star-syntax-bad-03.trig │ │ ├── trig-star-syntax-bad-04.trig │ │ ├── trig-star-syntax-bad-05.trig │ │ ├── trig-star-syntax-bad-06.trig │ │ ├── trig-star-syntax-bad-07.trig │ │ ├── trig-star-syntax-bad-08.trig │ │ ├── trig-star-syntax-bad-ann-1.trig │ │ ├── trig-star-syntax-bad-ann-2.trig │ │ ├── trig-star-syntax-basic-01.trig │ │ ├── trig-star-syntax-basic-02.trig │ │ ├── trig-star-syntax-bnode-01.trig │ │ ├── trig-star-syntax-bnode-02.trig │ │ ├── trig-star-syntax-bnode-03.trig │ │ ├── trig-star-syntax-compound.trig │ │ ├── trig-star-syntax-inside-01.trig │ │ ├── trig-star-syntax-inside-02.trig │ │ ├── trig-star-syntax-nested-01.trig │ │ └── trig-star-syntax-nested-02.trig └── turtle │ ├── eval │ ├── index.html │ ├── manifest.html │ ├── manifest.jsonld │ ├── manifest.ttl │ ├── turtle-star-eval-01.nt │ ├── turtle-star-eval-01.ttl │ ├── turtle-star-eval-02.nt │ ├── turtle-star-eval-02.ttl │ ├── turtle-star-eval-annotation-1.nt │ ├── turtle-star-eval-annotation-1.ttl │ ├── turtle-star-eval-annotation-2.nt │ ├── turtle-star-eval-annotation-2.ttl │ ├── turtle-star-eval-annotation-3.nt │ ├── turtle-star-eval-annotation-3.ttl │ ├── turtle-star-eval-annotation-4.nt │ ├── turtle-star-eval-annotation-4.ttl │ ├── turtle-star-eval-annotation-5.nt │ ├── turtle-star-eval-annotation-5.ttl │ ├── turtle-star-eval-bnode-1.nt │ ├── turtle-star-eval-bnode-1.ttl │ ├── turtle-star-eval-bnode-2.nt │ ├── turtle-star-eval-bnode-2.ttl │ ├── turtle-star-eval-quoted-annotation-1.nt │ ├── turtle-star-eval-quoted-annotation-1.ttl │ ├── turtle-star-eval-quoted-annotation-2.nt │ ├── turtle-star-eval-quoted-annotation-2.ttl │ ├── turtle-star-eval-quoted-annotation-3.nt │ └── turtle-star-eval-quoted-annotation-3.ttl │ └── syntax │ ├── index.html │ ├── manifest.html │ ├── manifest.jsonld │ ├── manifest.ttl │ ├── nt-ttl-star-bad-syntax-1.ttl │ ├── nt-ttl-star-bad-syntax-2.ttl │ ├── nt-ttl-star-bad-syntax-3.ttl │ ├── nt-ttl-star-bad-syntax-4.ttl │ ├── nt-ttl-star-bnode-1.ttl │ ├── nt-ttl-star-bnode-2.ttl │ ├── nt-ttl-star-nested-1.ttl │ ├── nt-ttl-star-nested-2.ttl │ ├── nt-ttl-star-syntax-1.ttl │ ├── nt-ttl-star-syntax-2.ttl │ ├── nt-ttl-star-syntax-3.ttl │ ├── nt-ttl-star-syntax-4.ttl │ ├── nt-ttl-star-syntax-5.ttl │ ├── turtle-star-annotation-1.ttl │ ├── turtle-star-annotation-2.ttl │ ├── turtle-star-syntax-bad-01.ttl │ ├── turtle-star-syntax-bad-02.ttl │ ├── turtle-star-syntax-bad-03.ttl │ ├── turtle-star-syntax-bad-04.ttl │ ├── turtle-star-syntax-bad-05.ttl │ ├── turtle-star-syntax-bad-06.ttl │ ├── turtle-star-syntax-bad-07.ttl │ ├── turtle-star-syntax-bad-08.ttl │ ├── turtle-star-syntax-bad-ann-1.ttl │ ├── turtle-star-syntax-bad-ann-2.ttl │ ├── turtle-star-syntax-basic-01.ttl │ ├── turtle-star-syntax-basic-02.ttl │ ├── turtle-star-syntax-bnode-01.ttl │ ├── turtle-star-syntax-bnode-02.ttl │ ├── turtle-star-syntax-bnode-03.ttl │ ├── turtle-star-syntax-compound.ttl │ ├── turtle-star-syntax-inside-01.ttl │ ├── turtle-star-syntax-inside-02.ttl │ ├── turtle-star-syntax-nested-01.ttl │ └── turtle-star-syntax-nested-02.ttl ├── unstar.html └── w3c.json /.github/ISSUE_TEMPLATE/blank.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Standard issue 3 | about: Template for standard issue 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/use-case.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Use case 3 | about: Template for use case 4 | title: '' 5 | labels: use-case 6 | assignees: '' 7 | 8 | --- 9 | 10 | As an … WHO 11 | I want a … WHAT 12 | So that … WHY 13 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | # This workflow validates the document for markup and examples. 2 | name: CI 3 | 4 | on: 5 | push: 6 | branches: [ '**' ] 7 | pull_request: 8 | branches: [ main ] 9 | 10 | jobs: 11 | tests: 12 | name: Build and Validate Spec 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v2 16 | 17 | # Setup python environment 18 | - name: Set up Python 19 | uses: actions/setup-python@v2 20 | with: 21 | python-version: '3.x' 22 | 23 | # Setup Ruby environment 24 | - name: Set up Ruby 25 | uses: ruby/setup-ruby@v1 26 | with: 27 | ruby-version: 2.7 28 | 29 | - name: Install Gemfile bundles 30 | run: bundle install --jobs 4 --retry 3 31 | 32 | - name: Build test manifests 33 | run: (cd tests; make) 34 | 35 | - name: Build implementation report 36 | run: (cd reports; bundle exec rake clean default) 37 | 38 | # Validate via ReSpec 39 | # See https://github.com/w3c/spec-prod/blob/main/docs/examples.md 40 | - name: ReSpec Checker 41 | uses: w3c/spec-prod@v2 42 | with: 43 | TOOLCHAIN: respec 44 | SOURCE: cg-spec/editors_draft.html 45 | VALIDATE_LINKS: false 46 | VALIDATE_MARKUP: true 47 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Backup files 2 | *~ 3 | *.bak 4 | *.backup 5 | .*.swp 6 | \#*# 7 | reports/manifests.nt 8 | .DS_Store 9 | -------------------------------------------------------------------------------- /.pr-preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "src_file": "cg-spec/editors_draft.html", 3 | "type": "respec" 4 | } -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # RDF-DEV Community Group 2 | 3 | This repository is being used for work in the W3C RDF-DEV Community Group, governed by the [W3C Community License 4 | Agreement (CLA)](http://www.w3.org/community/about/agreements/cla/). To make substantive contributions, 5 | you must join the CG. 6 | 7 | If you are not the sole contributor to a contribution (pull request), please identify all 8 | contributors in the pull request comment. 9 | 10 | To add a contributor (other than yourself, that's automatic), mark them one per line as follows: 11 | 12 | ``` 13 | +@github_username 14 | ``` 15 | 16 | If you added a contributor by mistake, you can remove them in a comment with: 17 | 18 | ``` 19 | -@github_username 20 | ``` 21 | 22 | If you are making a pull request on behalf of someone else but you had no part in designing the 23 | feature, you can remove yourself with the above syntax. 24 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem 'rdf-turtle' 4 | gem 'rdf-ordered-repo' 5 | gem 'rdf-isomorphic' 6 | gem 'rdf-normalize' 7 | gem 'json-ld' 8 | gem 'earl-report' 9 | gem 'colorize' 10 | gem 'rake' 11 | gem 'redcarpet' 12 | gem 'byebug' 13 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | amazing_print (1.4.0) 5 | builder (3.2.4) 6 | byebug (11.1.3) 7 | colorize (0.8.1) 8 | concurrent-ruby (1.1.9) 9 | connection_pool (2.2.5) 10 | earl-report (0.7.1) 11 | haml (~> 5.2) 12 | json-ld (~> 3.1) 13 | kramdown (~> 2.3) 14 | rdf (~> 3.1) 15 | rdf-ordered-repo (~> 3.1) 16 | rdf-turtle (~> 3.1) 17 | rdf-vocab (~> 3.1, >= 3.1.13) 18 | sparql (~> 3.1) 19 | ebnf (2.2.1) 20 | amazing_print (~> 1.2) 21 | htmlentities (~> 4.3) 22 | rdf (~> 3.1) 23 | scanf (~> 1.0) 24 | sxp (~> 1.1) 25 | unicode-types (~> 1.6) 26 | haml (5.2.2) 27 | temple (>= 0.8.0) 28 | tilt 29 | hamster (3.0.0) 30 | concurrent-ruby (~> 1.0) 31 | htmlentities (4.3.4) 32 | json-canonicalization (0.3.0) 33 | json-ld (3.1.10) 34 | htmlentities (~> 4.3) 35 | json-canonicalization (~> 0.2) 36 | link_header (~> 0.0, >= 0.0.8) 37 | multi_json (~> 1.14) 38 | rack (~> 2.0) 39 | rdf (~> 3.1) 40 | kramdown (2.3.1) 41 | rexml 42 | link_header (0.0.8) 43 | logger (1.4.4) 44 | multi_json (1.15.0) 45 | net-http-persistent (4.0.1) 46 | connection_pool (~> 2.2) 47 | rack (2.2.3) 48 | rake (13.0.6) 49 | rdf (3.1.15) 50 | hamster (~> 3.0) 51 | link_header (~> 0.0, >= 0.0.8) 52 | rdf-aggregate-repo (3.1.0) 53 | rdf (~> 3.1) 54 | rdf-isomorphic (3.1.1) 55 | rdf (~> 3.1) 56 | rdf-normalize (0.4.0) 57 | rdf (~> 3.1) 58 | rdf-ordered-repo (3.1.1) 59 | rdf (~> 3.1) 60 | rdf-turtle (3.1.3) 61 | ebnf (~> 2.1) 62 | rdf (~> 3.1, >= 3.1.8) 63 | rdf-vocab (3.1.14) 64 | rdf (~> 3.1, >= 3.1.12) 65 | rdf-xsd (3.1.1) 66 | rdf (~> 3.1) 67 | rexml (~> 3.2) 68 | redcarpet (3.5.1) 69 | rexml (3.2.5) 70 | scanf (1.0.0) 71 | sparql (3.1.8) 72 | builder (~> 3.2) 73 | ebnf (~> 2.1) 74 | logger (~> 1.4) 75 | rdf (~> 3.1, >= 3.1.14) 76 | rdf-aggregate-repo (~> 3.1) 77 | rdf-xsd (~> 3.1) 78 | sparql-client (~> 3.1, >= 3.1.2) 79 | sxp (~> 1.1) 80 | sparql-client (3.1.2) 81 | net-http-persistent (~> 4.0, >= 4.0.1) 82 | rdf (~> 3.1) 83 | sxp (1.1.0) 84 | rdf (~> 3.1) 85 | temple (0.8.2) 86 | tilt (2.0.10) 87 | unicode-types (1.7.0) 88 | 89 | PLATFORMS 90 | ruby 91 | x86_64-darwin-20 92 | x86_64-linux 93 | 94 | DEPENDENCIES 95 | byebug 96 | colorize 97 | earl-report 98 | json-ld 99 | rake 100 | rdf-isomorphic 101 | rdf-normalize 102 | rdf-ordered-repo 103 | rdf-turtle 104 | redcarpet 105 | 106 | BUNDLED WITH 107 | 2.2.33 108 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | All Reports in this Repository are licensed by Contributors 2 | under the 3 | [W3C Software and Document License](http://www.w3.org/Consortium/Legal/2015/copyright-software-and-document). 4 | 5 | Contributions to Specifications are made under the 6 | [W3C CLA](https://www.w3.org/community/about/agreements/cla/). 7 | 8 | Contributions to Test Suites are made under the 9 | [W3C 3-clause BSD License](https://www.w3.org/Consortium/Legal/2008/03-bsd-license.html) 10 | 11 | -------------------------------------------------------------------------------- /Minutes/2021-03-26.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | RDF-star – 26 March 2021 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

W3C

18 | 19 |

RDF-star

20 |

26 March 2021

21 | 22 | 28 |
29 | 30 |
31 |
32 |

Attendees

33 |
34 |
Present
AndyS, gkellogg, pchampin, TallTed, thomas
35 |
Regrets
-
36 |
Chair
pchampin
37 |
Scribe
AndyS
38 |
39 |
40 | 41 | 49 |
50 | 51 |
52 |

Meeting minutes

53 |
54 | 55 |
56 |

Announcements and newcomers

57 |

<gkellogg> https://gitter.im/lotico/rdf-star

58 |

pchampin: Talk about RDF-star. Went well.
59 | … high attendance.

60 |

<gkellogg> http://www.lotico.com/index.php/Metadata_for_RDF_Statements:_The_RDF-star_Approach

61 |

pchampin: video published via Lotico event page.

62 |

thomas: semantics issue
63 | … need to be clear what is right and wrong use.

64 |

pchampin: Referential opacity does not preclude transparent interpretation (app can choose to use it transparently) but the reverse is not true - can't go opaque from transparent.

65 |

<TallTed> nitpick, CGs emit "reports" not necessarily "final reports"

66 |
67 | 68 |
69 |

Open actions

70 |

<pchampin> https://github.com/w3c/rdf-star/issues?q=is%3Aopen+is%3Aissue+label%3Aaction

71 |

<pchampin> https://github.com/w3c/rdf-star/issues/134

72 |

gkellog: we can have minority opinions.

73 |

gkellog: The URIs may change or go away. This group is "suggesting" an appraoch.
74 | … have a time limit on URIs.

75 |

<TallTed> minting rdf:embeddedTriple would indeed be very bullying on a future WG that didn't want to include that in their amendment of rdf: ...

76 |

<TallTed> That doesn't feel like a strong argument to me.

77 |

<pchampin> https://github.com/w3c/rdf-star/issues/136

78 |

<gkellogg> We need people to implement and report on the semantics test suite.

79 |

<pchampin> https://github.com/w3c/rdf-star/issues/135

80 |

pchampin: Will do PRs in future for all by editorial fixes.

81 |

pchampin: Merge text - explains how to deal with blank nodes

82 |

PR https://github.com/w3c/rdf-star/pull/143

83 |
84 | 85 |
86 |

Explanation about Merge

87 |

https://www.w3.org/TR/rdf11-concepts/#section-blank-nodes

88 |

pchampin: Merge vs union :: dataset default graph may be a union of named graphs.

89 |

thomas: Next week is Good Friday.

90 |

gkellog: Roadmap to "done".

91 |
92 |
93 | 94 | 95 |
Minutes manually created (not a transcript), formatted by scribe.perl version 127 (Wed Dec 30 17:39:58 2020 UTC).
98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /Minutes/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Minutes of the RDF* calls 4 | 5 |

Minutes of the RDF* calls

6 | 54 | -------------------------------------------------------------------------------- /Minutes/update-index.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd `dirname "$0"` 3 | cat >index.html < 5 | 6 | Minutes of the RDF* calls 7 | 8 |

Minutes of the RDF* calls

9 |
    10 | EOS 11 | 12 | ls 2*.html | sort -r | while read filename 13 | do 14 | date=`basename "$filename" .html` 15 | echo "
  • $date" >>index.html 16 | done 17 | echo "
" >>index.html 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## RDF-star ## 2 | 3 | **RDF-star has now been taken over by the [RDF-star working group](https://www.w3.org/groups/wg/rdf-star).** 4 | 5 | The homepage of the RDF-star community group effort is 6 | https://w3c.github.io/rdf-star/ 7 | 8 | 9 | -------------------------------------------------------------------------------- /UCR/README.md: -------------------------------------------------------------------------------- 1 | ### Current Document 2 | * [_Use Cases & Requirements_](rdf-star-ucr.html) 3 | 4 | ### Previous Work 5 | * [_Use Cases & Requirements_, started in EasierRDF](https://github.com/w3c/EasierRDF/blob/master/RDFstar/RDFStarUCandRequirements.html); now incorporated into current doc, above 6 | -------------------------------------------------------------------------------- /cg-spec/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Latest published RDF-star CG-draft 4 | 5 | 10 | 11 | 12 | 13 |

The latest RDF-star CG-draft is 14 | 2021-12-17.html. 15 | You should be redirected soon. 16 |

17 | -------------------------------------------------------------------------------- /cg-spec/visual-map-bg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 19 | 37 | 41 | 45 | 50 | 55 | 60 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /css/README.md: -------------------------------------------------------------------------------- 1 | CSS from bootstrap-4.5.3-dist.zip 2 | -------------------------------------------------------------------------------- /css/rdf-star.css: -------------------------------------------------------------------------------- 1 | body { font-family: "Open Sans", sans-serif ; 2 | font-size: 15px ; 3 | font-weight: 400 ; 4 | line-height: 25px; 5 | color: #404040 ; 6 | } 7 | 8 | a { color : #0000C0 ; } 9 | a:hover { text-decoration: underline ; } 10 | a:visited { color : #000080 ; } 11 | 12 | h1 { font-size: 32px ; font-weight: bold ; } 13 | h2 { font-size: 24px ; font-weight: bold ; } 14 | h3 { font-size: 18px ; font-weight: bold ; } 15 | 16 | code { font-family: "Inconsolata" ; color: black ; background-color: #F0F0F0 ; } 17 | pre { font-family: "Inconsolata" ; } 18 | 19 | pre code { white-space: pre; overflow: auto;} 20 | 21 | blockquote { font-size: 14px ; color: #888 ; font-style: italic ; } 22 | 23 | table tr td,th { 24 | vertical-align: top; 25 | border-right: 1px dotted #A0A0A0; 26 | border-top: 1px dotted #A0A0A0; 27 | padding-left: 2em ; 28 | padding-right: 2em ; 29 | padding: 0.3em; 30 | } 31 | 32 | table { 33 | border: 1px solid #A0A0A0 ; 34 | border-spacing: 0; 35 | } 36 | 37 | table th { 38 | padding-left: 0.5em ; 39 | padding-right: 0.5em ; 40 | background-color: #ededee; 41 | } 42 | 43 | img { 44 | border: 0; 45 | } -------------------------------------------------------------------------------- /ebnf/n-quads.ebnf: -------------------------------------------------------------------------------- 1 | [1] nquadsDoc ::= statement? (EOL statement)* EOL? 2 | [2] statement ::= subject predicate object graphLabel '.' 3 | [3] subject ::= IRIREF | BLANK_NODE_LABEL | quotedTriple 4 | [4] predicate ::= IRIREF 5 | [5] object ::= IRIREF | BLANK_NODE_LABEL | literal | quotedTriple 6 | [6] graphLabel ::= IRIREF | BLANK_NODE_LABEL 7 | [7] literal ::= STRING_LITERAL_QUOTE ('^^' IRIREF | LANGTAG)? 8 | [7t] quotedTriple ::= '<<' subject predicate object '>>' 9 | 10 | @terminals 11 | 12 | [144s] LANGTAG ::= '@' [a-zA-Z]+ ('-' [a-zA-Z0-9]+)* 13 | [8] EOL ::= [#xD#xA]+ 14 | [10] IRIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>' 15 | [11] STRING_LITERAL_QUOTE ::= '"' ([^#x22#x5C#xA#xD] | ECHAR | UCHAR)* '"' 16 | [141s] BLANK_NODE_LABEL ::= '_:' (PN_CHARS_U | [0-9]) ((PN_CHARS | '.')* PN_CHARS)? 17 | [12] UCHAR ::= '\u' HEX HEX HEX HEX | '\U' HEX HEX HEX HEX HEX HEX HEX HEX 18 | [153s] ECHAR ::= '\' [tbnrf"'\] 19 | [157s] PN_CHARS_BASE ::= [A-Z] | [a-z] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | [#x00F8-#x02FF] | [#x0370-#x037D] | [#x037F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] 20 | [158s] PN_CHARS_U ::= PN_CHARS_BASE | '_' | ':' 21 | [160s] PN_CHARS ::= PN_CHARS_U | '-' | [0-9] | #x00B7 | [#x0300-#x036F] | [#x203F-#x2040] 22 | [162s] HEX ::= [0-9] | [A-F] | [a-f] -------------------------------------------------------------------------------- /ebnf/n-triples.ebnf: -------------------------------------------------------------------------------- 1 | [1] ntriplesDoc ::= triple? (EOL triple)* EOL? 2 | [2] triple ::= subject predicate object '.' 3 | [3] subject ::= IRIREF | BLANK_NODE_LABEL | quotedTriple 4 | [4] predicate ::= IRIREF 5 | [5] object ::= IRIREF | BLANK_NODE_LABEL | literal | quotedTriple 6 | [6] literal ::= STRING_LITERAL_QUOTE ('^^' IRIREF | LANGTAG)? 7 | [7t] quotedTriple ::= '<<' subject predicate object '>>' 8 | 9 | @terminals 10 | 11 | [144s] LANGTAG ::= '@' [a-zA-Z]+ ('-' [a-zA-Z0-9]+)* 12 | [7] EOL ::= [#xD#xA]+ 13 | [8] IRIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>' 14 | [9] STRING_LITERAL_QUOTE ::= '"' ([^#x22#x5C#xA#xD] | ECHAR | UCHAR)* '"' 15 | [141s] BLANK_NODE_LABEL ::= '_:' (PN_CHARS_U | [0-9]) ((PN_CHARS | '.')* PN_CHARS)? 16 | [10] UCHAR ::= '\u' HEX HEX HEX HEX | '\U' HEX HEX HEX HEX HEX HEX HEX HEX 17 | [153s] ECHAR ::= '\' [tbnrf"'\] 18 | [157s] PN_CHARS_BASE ::= [A-Z] | [a-z] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | [#x00F8-#x02FF] | [#x0370-#x037D] | [#x037F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] 19 | [158s] PN_CHARS_U ::= PN_CHARS_BASE | '_' | ':' 20 | [160s] PN_CHARS ::= PN_CHARS_U | '-' | [0-9] | #x00B7 | [#x0300-#x036F] | [#x203F-#x2040] 21 | [162s] HEX ::= [0-9] | [A-F] | [a-f] -------------------------------------------------------------------------------- /ebnf/trig.ebnf: -------------------------------------------------------------------------------- 1 | [1g] trigDoc ::= ( directive | block )* 2 | [2g] block ::= triplesOrGraph | wrappedGraph | triples2 | "GRAPH" labelOrSubject wrappedGraph 3 | [3g] triplesOrGraph ::= labelOrSubject ( wrappedGraph | predicateObjectList '.' ) 4 | | quotedTriple predicateObjectList '.' 5 | [4g] triples2 ::= blankNodePropertyList predicateObjectList? '.' | collection predicateObjectList '.' 6 | [5g] wrappedGraph ::= '{' triplesBlock? '}' 7 | [6g] triplesBlock ::= triples ( '.' triplesBlock? )? 8 | [7g] labelOrSubject ::= ( iri | BlankNode ) 9 | [3] directive ::= prefixID | base | sparqlPrefix | sparqlBase 10 | [4] prefixID ::= '@prefix' PNAME_NS IRIREF '.'? 11 | [5] base ::= '@base' IRIREF '.'? 12 | [5s] sparqlPrefix ::= "PREFIX" PNAME_NS IRIREF 13 | [6s] sparqlBase ::= "BASE" IRIREF 14 | [6] triples ::= subject predicateObjectList | blankNodePropertyList predicateObjectList? 15 | [7] predicateObjectList ::= verb objectList (';' (verb objectList)? )* 16 | [8] objectList ::= object annotation? ( ',' object annotation? )* 17 | [9] verb ::= predicate | 'a' 18 | [10] subject ::= iri | blank | quotedTriple 19 | [11] predicate ::= iri 20 | [12] object ::= iri | blank | blankNodePropertyList | literal | quotedTriple 21 | [13] literal ::= RDFLiteral | NumericLiteral | BooleanLiteral 22 | [14] blank ::= BlankNode | collection 23 | [15] blankNodePropertyList ::= '[' predicateObjectList ']' 24 | [16] collection ::= '(' object* ')' 25 | [17] NumericLiteral ::= INTEGER | DECIMAL | DOUBLE 26 | [128s] RDFLiteral ::= String ( LANGTAG | ( '^^' iri ) )? 27 | [133s] BooleanLiteral ::= 'true' | 'false' 28 | [18] String ::= STRING_LITERAL_QUOTE | STRING_LITERAL_SINGLE_QUOTE | STRING_LITERAL_LONG_SINGLE_QUOTE | STRING_LITERAL_LONG_QUOTE 29 | [135s] iri ::= IRIREF | PrefixedName 30 | [136s] PrefixedName ::= PNAME_LN | PNAME_NS 31 | [137s] BlankNode ::= BLANK_NODE_LABEL | ANON 32 | [27] quotedTriple ::= '<<' qtSubject predicate qtObject '>>' 33 | [28] qtSubject ::= iri | BlankNode | quotedTriple 34 | [29] qtObject ::= iri | BlankNode | literal | quotedTriple 35 | [30] annotation ::= '{|' predicateObjectList '|}' 36 | 37 | @terminals 38 | 39 | [19] IRIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>' 40 | [139s] PNAME_NS ::= PN_PREFIX? ':' 41 | [140s] PNAME_LN ::= PNAME_NS PN_LOCAL 42 | [141s] BLANK_NODE_LABEL ::= '_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)? 43 | [144s] LANGTAG ::= '@' [a-zA-Z]+ ( '-' [a-zA-Z0-9]+ )* 44 | [20] INTEGER ::= [+-]? [0-9]+ 45 | [21] DECIMAL ::= [+-]? ( ([0-9])* '.' ([0-9])+ ) 46 | [22] DOUBLE ::= [+-]? ( [0-9]+ '.' [0-9]* EXPONENT | '.' ([0-9])+ EXPONENT | ([0-9])+ EXPONENT ) 47 | [154s] EXPONENT ::= [eE] [+-]? [0-9]+ 48 | [23] STRING_LITERAL_QUOTE ::= '"' ( [^#x22#x5C#xA#xD] | ECHAR | UCHAR )* '"' 49 | [24] STRING_LITERAL_SINGLE_QUOTE ::= "'" ( [^#x27#x5C#xA#xD] | ECHAR | UCHAR )* "'" 50 | [25] STRING_LITERAL_LONG_SINGLE_QUOTE ::= "'''" ( ( "'" | "''" )? ( [^'\] | ECHAR | UCHAR ) )* "'''" 51 | [26] STRING_LITERAL_LONG_QUOTE ::= '"""' ( ( '"' | '""' )? ( [^"\] | ECHAR | UCHAR ) )* '"""' 52 | [27] UCHAR ::= ( '\u' HEX HEX HEX HEX ) 53 | | ( '\U' HEX HEX HEX HEX HEX HEX HEX HEX ) 54 | [159s] ECHAR ::= '\' [tbnrf\"'] 55 | [160s] NIL ::= '(' WS* ')' 56 | [161s] WS ::= #x20 | #x9 | #xD | #xA 57 | [162s] ANON ::= '[' WS* ']' 58 | [163s] PN_CHARS_BASE ::= [A-Z] 59 | | [a-z] 60 | | [#x00C0-#x00D6] 61 | | [#x00D8-#x00F6] 62 | | [#x00F8-#x02FF] 63 | | [#x0370-#x037D] 64 | | [#x037F-#x1FFF] 65 | | [#x200C-#x200D] 66 | | [#x2070-#x218F] 67 | | [#x2C00-#x2FEF] 68 | | [#x3001-#xD7FF] 69 | | [#xF900-#xFDCF] 70 | | [#xFDF0-#xFFFD] 71 | | [#x10000-#xEFFFF] 72 | [164s] PN_CHARS_U ::= PN_CHARS_BASE 73 | | '_' 74 | [166s] PN_CHARS ::= PN_CHARS_U 75 | | '-' 76 | | [0-9] 77 | | #x00B7 78 | | [#x0300-#x036F] 79 | | [#x203F-#x2040] 80 | [167s] PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | '.' )* PN_CHARS )? 81 | [168s] PN_LOCAL ::= ( PN_CHARS_U | ':' | [0-9] | PLX ) ( ( PN_CHARS | '.' | ':' | PLX )* ( PN_CHARS | ':' | PLX ) ) ? 82 | [169s] PLX ::= PERCENT 83 | | PN_LOCAL_ESC 84 | [170s] PERCENT ::= '%' HEX HEX 85 | [171s] HEX ::= [0-9] | [A-F] | [a-f] 86 | [172s] PN_LOCAL_ESC ::= '\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' ) 87 | -------------------------------------------------------------------------------- /ebnf/turtle.ebnf: -------------------------------------------------------------------------------- 1 | [1] turtleDoc ::= statement* 2 | [2] statement ::= directive | triples '.' 3 | [3] directive ::= prefixID | base | sparqlPrefix | sparqlBase 4 | [4] prefixID ::= '@prefix' PNAME_NS IRIREF '.'? 5 | [5] base ::= '@base' IRIREF '.'? 6 | [5s] sparqlPrefix ::= "PREFIX" PNAME_NS IRIREF 7 | [6s] sparqlBase ::= "BASE" IRIREF 8 | [6] triples ::= subject predicateObjectList | blankNodePropertyList predicateObjectList? 9 | [7] predicateObjectList ::= verb objectList ( ';' ( verb objectList)? )* 10 | [8] objectList ::= object annotation? ( ',' object annotation? )* 11 | [9] verb ::= predicate | 'a' 12 | [10] subject ::= iri | BlankNode | collection | quotedTriple 13 | [11] predicate ::= iri 14 | [12] object ::= iri | BlankNode | collection | blankNodePropertyList | literal | quotedTriple 15 | [13] literal ::= RDFLiteral | NumericLiteral | BooleanLiteral 16 | [14] blankNodePropertyList ::= '[' predicateObjectList ']' 17 | [15] collection ::= '(' object* ')' 18 | [16] NumericLiteral ::= INTEGER | DECIMAL | DOUBLE 19 | [128s] RDFLiteral ::= String ( LANGTAG | ( '^^' iri ) )? 20 | [133s] BooleanLiteral ::= 'true' | 'false' 21 | [17] String ::= STRING_LITERAL_QUOTE | STRING_LITERAL_SINGLE_QUOTE | STRING_LITERAL_LONG_SINGLE_QUOTE | 22 | STRING_LITERAL_LONG_QUOTE 23 | [135s] iri ::= IRIREF | PrefixedName 24 | [136s] PrefixedName ::= PNAME_LN | PNAME_NS 25 | [137s] BlankNode ::= BLANK_NODE_LABEL | ANON 26 | [27] quotedTriple ::= '<<' qtSubject predicate qtObject '>>' 27 | [28] qtSubject ::= iri | BlankNode | quotedTriple 28 | [29] qtObject ::= iri | BlankNode | literal | quotedTriple 29 | [30] annotation ::= '{|' predicateObjectList '|}' 30 | 31 | @terminals 32 | 33 | [18] IRIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>' 34 | [139s] PNAME_NS ::= PN_PREFIX? ':' 35 | [140s] PNAME_LN ::= PNAME_NS PN_LOCAL 36 | [141s] BLANK_NODE_LABEL ::= '_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)? 37 | [144s] LANGTAG ::= '@' [a-zA-Z]+ ( '-' [a-zA-Z0-9]+ )* 38 | [19] INTEGER ::= [+-]? [0-9]+ 39 | [20] DECIMAL ::= [+-]? ( ([0-9])* '.' ([0-9])+ ) 40 | [21] DOUBLE ::= [+-]? ( [0-9]+ '.' [0-9]* EXPONENT | '.' ([0-9])+ EXPONENT | ([0-9])+ EXPONENT ) 41 | [154s] EXPONENT ::= [eE] [+-]? [0-9]+ 42 | [22] STRING_LITERAL_QUOTE ::= '"' ( [^#x22#x5C#xA#xD] | ECHAR | UCHAR )* '"' 43 | [23] STRING_LITERAL_SINGLE_QUOTE ::= "'" ( [^#x27#x5C#xA#xD] | ECHAR | UCHAR )* "'" 44 | [24] STRING_LITERAL_LONG_SINGLE_QUOTE ::= "'''" ( ( "'" | "''" )? ( [^'\] | ECHAR | UCHAR ) )* "'''" 45 | [25] STRING_LITERAL_LONG_QUOTE ::= '"""' ( ( '"' | '""' )? ( [^"\] | ECHAR | UCHAR ) )* '"""' 46 | [26] UCHAR ::= ( '\u' HEX HEX HEX HEX ) | ( '\U' HEX HEX HEX HEX HEX HEX HEX HEX ) 47 | [159s] ECHAR ::= '\' [tbnrf\"'] 48 | [161s] WS ::= #x20 | #x9 | #xD | #xA 49 | [162s] ANON ::= '[' WS* ']' 50 | [163s] PN_CHARS_BASE ::= [A-Z] | [a-z] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | [#x00F8-#x02FF] | [#x0370-#x037D] | [#x037F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] 51 | [164s] PN_CHARS_U ::= PN_CHARS_BASE | '_' 52 | [166s] PN_CHARS ::= PN_CHARS_U | '-' | [0-9] | #x00B7 | [#x0300-#x036F] | [#x203F-#x2040] 53 | [167s] PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | '.' )* PN_CHARS )? 54 | [168s] PN_LOCAL ::= ( PN_CHARS_U | ':' | [0-9] | PLX ) ( ( PN_CHARS | '.' | ':' | PLX )* ( PN_CHARS | ':' | PLX ) ) ? 55 | [169s] PLX ::= PERCENT | PN_LOCAL_ESC 56 | [170s] PERCENT ::= '%' HEX HEX 57 | [171s] HEX ::= [0-9] | [A-F] | [a-f] 58 | [172s] PN_LOCAL_ESC ::= '\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' ) -------------------------------------------------------------------------------- /implementations.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | RDF-star Community - Implementations 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 |
 
22 |
23 | 24 |
25 | 26 |
27 |

28 | 29 | W3C 32 | 33 |   34 |   35 |   36 | 38 | RDF Resource Description Framework Icon 41 | 42 |   43 |   44 |   45 | Semweb Cube 46 |

47 | 50 | 51 |

To update this list, please submit a pull request to the Github repository, or contact the public mailing list (public-rdf-star@w3.org).

52 |

For the list of submitted implementation reports see RDF-star Processor Conformance.

53 | 54 | 55 |
ImplementationSourceNotes 56 |
AllegroGraph 57 | mailing list 58 | PG mode, 59 | in the works 60 |
AnzoGraph 61 | documentation 62 | PG mode 63 |
BlazeGraph 64 | documentation 65 | PG mode 66 |
Corese 67 | documentation 68 | PG mode 69 |
EYE 70 | implementation report 71 | 72 |
GraphDB 73 | documentation 74 | 75 |
Apache Jena 76 | 77 | implementation report, 78 | documentation 79 | 80 | 81 |
Eclipse rdf4j 82 | documentation 83 | 84 |
Morph-KGC 85 | github, 86 | documentation 87 | RML-star 88 |
Oxigraph 89 | 90 | implementation reports: 91 | Rio Turtle, 92 | SPARQL 93 | 94 |
RDF.ex 95 | 96 | implementation report, 97 | documentation 98 | 99 |
rdfjs/N3.js 100 | github 101 | 102 |
RubyRDF 103 | implementation reports: RDF::TriG, 104 | SPARQL 105 | 106 |
Stardog 107 | documentation 108 | PG mode 109 |
TopBraid EDG 110 | blog post 111 | PG mode with custom annotation syntax 112 |
113 |
114 |
115 |
116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | RDF-star Community 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 |
 
24 |
25 | 26 |
27 | 28 |
29 |

30 | 31 | W3C 34 | 35 |   36 |   37 |   38 | 40 | RDF Resource Description Framework Icon 42 | 43 |   44 |   45 |   46 | Semweb Cube 47 |

48 | 51 | 52 |

53 | Home of RDF-star (née RDF*), a part of the 54 | RDF-DEV community group. 55 |

56 | 57 |

** Final Community Group Report **

59 | 60 |

Community:

61 | 94 | 95 |

Documents:

96 | 117 | 118 |
119 | 120 |
121 | 122 |
123 | 124 |
125 | 126 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /presentations/RDF-star_EBDVF.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/rdf-star/59eb0293b2b620023ee38252228c725769ad206f/presentations/RDF-star_EBDVF.pdf -------------------------------------------------------------------------------- /presentations/RDF-star_Lotico.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/rdf-star/59eb0293b2b620023ee38252228c725769ad206f/presentations/RDF-star_Lotico.pdf -------------------------------------------------------------------------------- /presentations/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | RDF-star presentations 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 |
 
24 |
25 | 26 |
27 | 28 |
29 |

30 | 31 | W3C 34 | 35 |   36 |   37 |   38 | 40 | RDF Resource Description Framework Icon 42 | 43 |   44 |   45 |   46 | Semweb Cube 47 |

48 | 51 | 52 |

The following are assets associated with presentations made on RDF-star:

53 | 57 | 58 |
59 | 60 |
61 | 62 |
63 | 64 |
65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /rdf-star-cg-spec.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | The RDF-star CG-draft has moved. 4 | 5 | 10 | 11 | 12 | 13 |

The RDF-star CG-draft has moved to 14 | cg-spec/editors_draft.html. 15 | You should be redirected soon. 16 |

17 | -------------------------------------------------------------------------------- /reports/.earl: -------------------------------------------------------------------------------- 1 | --- 2 | :format: :json 3 | :base: https://w3c.github.io/rdf-star/tests/ 4 | :manifest: manifests.nt 5 | :bibRef: ! '[[rdf-star]]' 6 | :name: RDF-star 7 | -------------------------------------------------------------------------------- /reports/README.md: -------------------------------------------------------------------------------- 1 | This is a collection of individual 2 | [EARL reports](https://www.w3.org/TR/EARL10-Schema/) for 3 | test subjects claiming JSON-LD processor conformance. 4 | 5 | The consolidated report is generated using the 6 | [earl-report Ruby gem](https://rubygems.org/gems/earl-report), 7 | which saves it to `index.html`. 8 | 9 | Run it as follows: 10 | 11 | ```sh 12 | $ bundle install 13 | $ bundle exec rake 14 | ``` 15 | -------------------------------------------------------------------------------- /reports/Rakefile: -------------------------------------------------------------------------------- 1 | require 'rdf' 2 | require 'rdf/turtle' 3 | require 'rdf/ordered_repo' 4 | 5 | desc "Default build all files" 6 | task default: [ "manifests.nt", "earl.jsonld", "earl.ttl", "index.html" ] 7 | 8 | desc "Remove generated files" 9 | task :clean do 10 | %x(rm -f manifests.nt earl.jsonld earl.ttl index.html) 11 | end 12 | 13 | TEST_PARTIALS = %w{ 14 | nt/syntax 15 | semantics 16 | sparql/syntax 17 | sparql/eval 18 | trig/syntax 19 | trig/eval 20 | turtle/syntax 21 | turtle/eval 22 | } 23 | 24 | file "manifests.nt" => TEST_PARTIALS.map {|p| "../tests/#{p}/manifest.ttl"} do 25 | graph = RDF::OrderedRepo.new 26 | TEST_PARTIALS.each do |path| 27 | graph.load("../tests/#{path}/manifest.ttl", base_uri: "https://w3c.github.io/rdf-star/tests/#{path}/") 28 | end 29 | RDF::NTriples::Writer.open("manifests.nt") {|w| w << graph} 30 | end 31 | 32 | file "earl.jsonld" => (Dir.glob('*.ttl') - %w(earl.ttl)) do |task| 33 | puts "write earl.jsonld" 34 | system("earl-report --format json --strict -o earl.jsonld #{task.prereqs.join(' ')}") || abort("Error processing files") 35 | end 36 | 37 | file "earl.ttl" => %w(earl.jsonld) do 38 | puts "write earl.ttl" 39 | system("earl-report --json --format ttl -o earl.ttl earl.jsonld") || abort("Error writing Turtle") 40 | end 41 | 42 | file "index.html" => %w(template.haml earl.jsonld) do 43 | puts "write index.html" 44 | system("earl-report --json --format html --template template.haml -o index.html earl.jsonld") || abort("Error writing HTML") 45 | end 46 | -------------------------------------------------------------------------------- /tests/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: all 2 | all: 3 | ./make-jsonld-manifests.rb 4 | ./make-html-manifests.py 5 | 6 | .PHONY: clean 7 | clean: 8 | rm -f semantics/manifest*.html 9 | -------------------------------------------------------------------------------- /tests/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | RDF-star Test Suite 6 | 7 | 8 | 9 | 10 | 11 |

12 | 13 | W3C 14 | 15 |

16 |

RDF-star Test Suite

17 |

This manifest loads additional manifests for specific behavior tests for 18 | RDF-star

19 | 20 |

This is an HTML version of a test manifest. 21 | Alternate versions of the manifest may be found at 22 | manifest.ttl, and 23 | manifest.jsonld.

24 | 25 |

The RDF-star Test Suite is a set of tests that can 26 | be used to verify Processor conformance.

27 | 28 |

General instructions for running the RDF-star Test suites

29 | 30 |

Tests are run broadly the same as those for relevant 31 | test suites for Turtle, SPARQL, and RDF 1.1 Entailment.

32 | 33 |

Running tests

34 | 35 |

The top-level manifest 36 | references the specific test manifests, 37 | which in turn reference each test associated with 38 | a particular behavior. This includes the following test manifests:

39 | 40 | 50 | 51 |

Implementations create their own infrastructure for running the test suite. 52 | In particular, the following should be considered:

53 | 54 | 60 | 61 |

See the implementation report for guidance on reporting test 62 | results using the EARL format.

63 | 64 |

Contributing Tests

65 | 66 |

If you would like to contribute a new test or a fix to an existing test, 67 | please submit a Pull Request using either the GitHub web interface, 69 | the steps below with a git client, or your preferred equivalent.

70 | 71 |
    72 |
  1. Clone the git repository: https://github.com/w3c/rdf-star
  2. 73 |
  3. Create a new branch.
  4. 74 |
  5. Make your changes, commit to your branch and push to your clone.
  6. 75 |
  7. Create a Pull Request in the RDF-star repository 76 | to merge into the default ("main") branch.
  8. 77 |
78 | 79 |

Distribution

80 | 81 |

Distributed under the 82 | 83 | W3C Test Suite License 84 | . 85 | To contribute to a W3C Test Suite, see the 86 | 87 | policies and contribution forms 88 | .

89 | 90 |

Disclaimer

91 | 92 |

UNDER THE EXCLUSIVE LICENSE, THIS DOCUMENT AND ALL DOCUMENTS, 93 | TESTS AND SOFTWARE THAT LINK THIS STATEMENT ARE PROVIDED "AS IS," 94 | AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, 95 | EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 96 | WARRANTIES OF MERCHANTABILITY, 97 | FITNESS FOR A PARTICULAR PURPOSE, 98 | NON-INFRINGEMENT, OR TITLE; 99 | THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; 100 | NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE 101 | ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. 102 | COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL 103 | OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT 104 | OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.

105 | 106 |

Code of Conduct

107 | 108 |

W3C functions under a code of conduct.

109 | 110 | 111 | -------------------------------------------------------------------------------- /tests/make-jsonld-manifests.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | require "bundler/setup" 3 | require 'json/ld' 4 | require 'rdf/turtle' 5 | require 'rdf/isomorphic' 6 | require 'rdf/ordered_repo' 7 | require 'rdf/normalize' 8 | 9 | MAN_DIR = File.expand_path("") 10 | LOCAL_CTX = JSON.parse(File.read("#{MAN_DIR}/manifest-context.jsonld")) 11 | 12 | %w{ 13 | nt/syntax/manifest.ttl 14 | semantics/manifest.ttl 15 | sparql/eval/manifest.ttl 16 | sparql/syntax/manifest.ttl 17 | trig/eval/manifest.ttl 18 | trig/syntax/manifest.ttl 19 | turtle/eval/manifest.ttl 20 | turtle/syntax/manifest.ttl 21 | }.each do |src| 22 | dst = src.sub('.ttl', '.jsonld') 23 | file_src = File.expand_path(src) 24 | file_dst = File.expand_path(dst) 25 | 26 | base = "https://w3c.github.io/rdf-star/tests/#{src}/".sub(/manifest.*$/, '') 27 | trs = base[0..-2] + '#' 28 | 29 | ttl_graph = RDF::OrderedRepo.load(file_src, base_uri: base) 30 | local_ctx = LOCAL_CTX.dup 31 | local_ctx['@context']['@base'] = base 32 | local_ctx['@context']['trs'] = trs 33 | JSON::LD::Writer.open(file_dst, 34 | format: :jsonld, 35 | frame: local_ctx, 36 | ordered: true, 37 | context: local_ctx, 38 | useNativeTypes: true, 39 | base_uri: base) {|writer| writer << ttl_graph} 40 | 41 | # Validate that the two graphs say the same thing. 42 | jsonld_graph = RDF::OrderedRepo.load(file_dst, base_uri: base) 43 | if !jsonld_graph.isomorphic?(ttl_graph) 44 | STDERR.puts "expected #{file_dst} to be isomorphic with expected #{file_src}" 45 | STDERR.puts "\nFrom Turtle:\n#{ttl_graph.dump(:normalize)}" 46 | STDERR.puts "\nFrom JSON-LD:\n#{jsonld_graph.dump(:normalize)}" 47 | exit(1) 48 | end 49 | end 50 | 51 | -------------------------------------------------------------------------------- /tests/manifest-context.jsonld: -------------------------------------------------------------------------------- 1 | { 2 | "@context": { 3 | "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", 4 | "rdfs": "http://www.w3.org/2000/01/rdf-schema#", 5 | "mf": "http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#", 6 | "rdft": "http://www.w3.org/ns/rdftest#", 7 | "xsd": "http://www.w3.org/2001/XMLSchema#", 8 | "qt": "http://www.w3.org/2001/sw/DataAccess/tests/test-query#", 9 | "ut": "http://www.w3.org/2009/sparql/tests/test-update#", 10 | "test": "http://www.w3.org/2001/sw/DataAccess/tests/test-dawg#", 11 | "trs": "https://w3c.github.io/rdf-star/tests/turtle/syntax#", 12 | "@vocab": "http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#", 13 | "dct": "http://purl.org/dc/terms/", 14 | "foaf": "http://xmlns.com/foaf/0.1/", 15 | "skos": "http://www.w3.org/2004/02/skos/core#", 16 | "@base": "", 17 | "include": { 18 | "@type": "@id", 19 | "@container": "@list" 20 | }, 21 | "entries": { 22 | "@type": "@id", 23 | "@container": "@list" 24 | }, 25 | "recognizedDatatypes": { 26 | "@type": "@id", 27 | "@container": "@list" 28 | }, 29 | "unrecognizedDatatypes": { 30 | "@type": "@id", 31 | "@container": "@list" 32 | }, 33 | "action": { 34 | "@type": "@id" 35 | }, 36 | "qt:query": { 37 | "@type": "@id" 38 | }, 39 | "qt:data": { 40 | "@type": "@id" 41 | }, 42 | "ut:request": { 43 | "@type": "@id" 44 | }, 45 | "ut:data": { 46 | "@type": "@id" 47 | }, 48 | "result": { 49 | "@type": "@id" 50 | }, 51 | "label": { 52 | "@id": "rdfs:label", 53 | "@container": "@language" 54 | }, 55 | "prefLabel": { 56 | "@id": "http://www.w3.org/2004/02/skos/core#prefLabel", 57 | "@container": "@language" 58 | }, 59 | "comment": "rdfs:comment", 60 | "issued": { 61 | "@id": "dct:issued", 62 | "@type": "xsd:date" 63 | }, 64 | "modified": { 65 | "@id": "dct:modified", 66 | "@type": "xsd:date" 67 | }, 68 | "license": { 69 | "@id": "dct:license", 70 | "@type": "@id" 71 | }, 72 | "creator": { 73 | "@id": "dct:creator", 74 | "@type": "@id", 75 | "@container": "@set" 76 | }, 77 | "seeAlso": { 78 | "@id": "rdfs:seeAlso", 79 | "@type": "@vocab" 80 | }, 81 | "approval": { 82 | "@id": "test:approval", 83 | "@type": "@vocab", 84 | "@context": { 85 | "Approved": "test:Approved", 86 | "Proposed": "test:NotClassified", 87 | "NotClassified": "test:NotClassified", 88 | "Rejected": "test:Rejected", 89 | "Obsoleted": "test:Obsoleted", 90 | "Withdrawn": "test:Withdrawn" 91 | } 92 | }, 93 | "TestTurtlePositiveSyntax": "rdft:TestTurtlePositiveSyntax", 94 | "TestTurtleNegativeSyntax": "rdft:TestTurtleNegativeSyntax", 95 | "statusOf": { 96 | "@reverse": "test:approval" 97 | } 98 | }, 99 | "@type": "mf:Manifest", 100 | "entries": { 101 | "@embed": true 102 | }, 103 | "@included": [ 104 | { 105 | "approval": { 106 | "@id": ["test:Rejected", "test:Obsoleted", "test:Withdrawn"] 107 | } 108 | } 109 | ] 110 | } 111 | -------------------------------------------------------------------------------- /tests/manifest.html: -------------------------------------------------------------------------------- 1 | index.html -------------------------------------------------------------------------------- /tests/manifest.jsonld: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "manifest-context.jsonld", 3 | "@id" : "manifest", 4 | "@type": "Manifest", 5 | "label": {"en": "RDF-star test suite"}, 6 | "prefLabel": {"fr": "Les tests de RDF-star", 7 | "es": "Conjunto de pruebas de RDF-star" 8 | }, 9 | "issued": "2021-06-21", 10 | "modified": "2021-07-18", 11 | "license": "https://www.w3.org/Consortium/Legal/2008/03-bsd-license", 12 | "creator": [{ 13 | "@id": "_:b0", 14 | "@type": "foaf:Organization", 15 | "foaf:homepage": "https://w3c.github.io/rdf-star/", 16 | "foaf:name": "W3C RDF-star Working Group" 17 | 18 | }], 19 | "seeAlso": "https://w3c.github.io/rdf-tests/", 20 | "include": [ 21 | "nt/syntax/manifest.jsonld", 22 | "semantics/manifest.jsonld", 23 | "sparql/eval/manifest.jsonld", 24 | "sparql/syntax/manifest.jsonld", 25 | "trig/eval/manifest.jsonld", 26 | "trig/syntax/manifest.jsonld", 27 | "turtle/eval/manifest.jsonld", 28 | "turtle/syntax/manifest.jsonld" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /tests/manifest.ttl: -------------------------------------------------------------------------------- 1 | ## [1] https://www.w3.org/Consortium/Legal/2008/04-testsuite-license 2 | ## [2] https://www.w3.org/Consortium/Legal/2008/03-bsd-license 3 | 4 | PREFIX rdf: 5 | PREFIX rdfs: 6 | PREFIX mf: 7 | PREFIX rdft: 8 | PREFIX trs: 9 | PREFIX dct: 10 | PREFIX xsd: 11 | PREFIX foaf: 12 | PREFIX skos: 13 | 14 | trs:manifest rdf:type mf:Manifest ; 15 | rdfs:label "RDF-star test suite"@en ; 16 | skos:prefLabel "La suite des tests pour RDF-star"@fr; 17 | skos:prefLabel "Conjunto de pruebas para RDF-star"@es; 18 | dct:issued "2021-06-21"^^xsd:date ; 19 | rdfs:seeAlso ; 20 | dct:modified "2021-07-18"^^xsd:date ; 21 | dct:licence ; 22 | dct:creator [ foaf:homepage ; foaf:name " RDF-star Interest Group within the W3C RDF-DEV Community Group" ] ; 23 | mf:include ( 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | ) . 33 | 34 | -------------------------------------------------------------------------------- /tests/nt/syntax/index.html: -------------------------------------------------------------------------------- 1 | manifest.html -------------------------------------------------------------------------------- /tests/nt/syntax/manifest.ttl: -------------------------------------------------------------------------------- 1 | ## Distributed under both the "W3C Test Suite License" [1] 2 | ## and the "W3C 3-clause BSD License". 3 | ## [1] https://www.w3.org/Consortium/Legal/2008/04-testsuite-license 4 | ## [2] https://www.w3.org/Consortium/Legal/2008/03-bsd-license 5 | 6 | PREFIX rdf: 7 | PREFIX rdfs: 8 | PREFIX mf: 9 | PREFIX rdft: 10 | PREFIX trs: 11 | PREFIX dct: 12 | PREFIX xsd: 13 | PREFIX foaf: 14 | PREFIX skos: 15 | 16 | trs:manifest rdf:type mf:Manifest ; 17 | rdfs:label "N-Triples-star Syntax Tests"@en ; 18 | skos:prefLabel "La suite des tests pour N-Triples-star"@fr; 19 | skos:prefLabel "Conjunto de pruebas para N-Triples-star"@es; 20 | dct:issued "2021-06-21"^^xsd:date ; 21 | dct:modified "2021-07-18"^^xsd:date ; 22 | dct:licence ; 23 | dct:creator [ foaf:homepage ; foaf:name " RDF-star Interest Group within the W3C RDF-DEV Community Group" ] ; 24 | rdfs:seeAlso ; 25 | mf:entries 26 | ( 27 | trs:ntriples-star-1 28 | trs:ntriples-star-2 29 | trs:ntriples-star-3 30 | trs:ntriples-star-4 31 | trs:ntriples-star-5 32 | 33 | trs:ntriples-star-bnode-1 34 | trs:ntriples-star-bnode-2 35 | 36 | trs:ntriples-star-nested-1 37 | trs:ntriples-star-nested-2 38 | 39 | trs:ntriples-star-bad-1 40 | trs:ntriples-star-bad-2 41 | trs:ntriples-star-bad-3 42 | trs:ntriples-star-bad-4 43 | 44 | trs:ntriples-star-bnode-bad-annotated-syntax-1 45 | trs:ntriples-star-bnode-bad-annotated-syntax-2 46 | trs:ntriples-star-nested-bad-annotated-syntax-1 47 | trs:ntriples-star-nested-bad-annotated-syntax-2 48 | ) . 49 | 50 | trs:ntriples-star-1 rdf:type rdft:TestNTriplesPositiveSyntax ; 51 | mf:name "N-Triples-star - subject quoted triple" ; 52 | mf:action ; 53 | . 54 | 55 | trs:ntriples-star-2 rdf:type rdft:TestNTriplesPositiveSyntax ; 56 | mf:name "N-Triples-star - object quoted triple" ; 57 | mf:action ; 58 | . 59 | 60 | trs:ntriples-star-3 rdf:type rdft:TestNTriplesPositiveSyntax ; 61 | mf:name "N-Triples-star - subject and object quoted triples" ; 62 | mf:action ; 63 | . 64 | 65 | trs:ntriples-star-4 rdf:type rdft:TestNTriplesPositiveSyntax ; 66 | mf:name "N-Triples-star - whitespace and terms" ; 67 | mf:action ; 68 | . 69 | 70 | trs:ntriples-star-5 rdf:type rdft:TestNTriplesPositiveSyntax ; 71 | mf:name "N-Triples-star - Nested, no whitespace" ; 72 | mf:action ; 73 | . 74 | 75 | # Blank nodes 76 | 77 | trs:ntriples-star-bnode-1 rdf:type rdft:TestNTriplesPositiveSyntax ; 78 | mf:name "N-Triples-star - Blank node subject" ; 79 | mf:action ; 80 | . 81 | 82 | trs:ntriples-star-bnode-2 rdf:type rdft:TestNTriplesPositiveSyntax ; 83 | mf:name "N-Triples-star - Blank node object" ; 84 | mf:action ; 85 | . 86 | 87 | trs:ntriples-star-nested-1 rdf:type rdft:TestNTriplesPositiveSyntax ; 88 | mf:name "N-Triples-star - Nested subject term" ; 89 | mf:action ; 90 | . 91 | 92 | trs:ntriples-star-nested-2 rdf:type rdft:TestNTriplesPositiveSyntax ; 93 | mf:name "N-Triples-star - Nested object term" ; 94 | mf:action ; 95 | . 96 | 97 | ## Bad syntax 98 | 99 | trs:ntriples-star-bad-1 rdf:type rdft:TestNTriplesNegativeSyntax ; 100 | mf:name "N-Triples-star - Bad - quoted triple as predicate" ; 101 | mf:action ; 102 | . 103 | 104 | trs:ntriples-star-bad-2 rdf:type rdft:TestNTriplesNegativeSyntax ; 105 | mf:name "N-Triples-star - Bad - quoted triple, literal subject" ; 106 | mf:action ; 107 | . 108 | 109 | trs:ntriples-star-bad-3 rdf:type rdft:TestNTriplesNegativeSyntax ; 110 | mf:name "N-Triples-star - Bad - quoted triple, literal predicate" ; 111 | mf:action ; 112 | . 113 | 114 | trs:ntriples-star-bad-4 rdf:type rdft:TestNTriplesNegativeSyntax ; 115 | mf:name "N-Triples-star - Bad - quoted triple, blank node predicate" ; 116 | mf:action ; 117 | . 118 | 119 | # Annotation syntax is not permitted in nt 120 | 121 | trs:ntriples-star-bnode-bad-annotated-syntax-1 rdf:type rdft:TestNTriplesNegativeSyntax ; 122 | mf:name "N-Triples-star - Bad - annotated triple, blank node subject" ; 123 | mf:action ; 124 | . 125 | 126 | trs:ntriples-star-bnode-bad-annotated-syntax-2 rdf:type rdft:TestNTriplesNegativeSyntax ; 127 | mf:name "N-Triples-star - Bad - annotated triple, blank node object" ; 128 | mf:action ; 129 | . 130 | 131 | trs:ntriples-star-nested-bad-annotated-syntax-1 rdf:type rdft:TestNTriplesNegativeSyntax ; 132 | mf:name "N-Triples-star - Bad - annotated triple, nested subject term" ; 133 | mf:action ; 134 | . 135 | 136 | trs:ntriples-star-nested-bad-annotated-syntax-2 rdf:type rdft:TestNTriplesNegativeSyntax ; 137 | mf:name "N-Triples-star - Bad - annotated triple, nested object term" ; 138 | mf:action ; 139 | . 140 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-bad-syntax-1.nt: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-bad-syntax-2.nt: -------------------------------------------------------------------------------- 1 | << "XYZ" >> . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-bad-syntax-3.nt: -------------------------------------------------------------------------------- 1 | << "XYZ" >> . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-bad-syntax-4.nt: -------------------------------------------------------------------------------- 1 | << _:label >> . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-bnode-1.nt: -------------------------------------------------------------------------------- 1 | _:b0 . 2 | << _:b0 >> "ABC" . 3 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-bnode-2.nt: -------------------------------------------------------------------------------- 1 | _:b1 . 2 | << _:b1 >> "456"^^ . 3 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-bnode-bad-annotated-syntax-1.nt: -------------------------------------------------------------------------------- 1 | _:b0 {| "ABC" |} . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-bnode-bad-annotated-syntax-2.nt: -------------------------------------------------------------------------------- 1 | _:b1 {| "456"^^ |} . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-nested-1.nt: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | << << >> >> "1"^^ . 4 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-nested-2.nt: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | << << >> >> . 4 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-nested-bad-annotated-syntax-1.nt: -------------------------------------------------------------------------------- 1 | {| {| "1"^^ |} |} . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-nested-bad-annotated-syntax-2.nt: -------------------------------------------------------------------------------- 1 | . 2 | << >> {| |} . 3 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-syntax-1.nt: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-syntax-2.nt: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-syntax-3.nt: -------------------------------------------------------------------------------- 1 | << >> << >> . 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-syntax-4.nt: -------------------------------------------------------------------------------- 1 | <<>><<>>. 2 | -------------------------------------------------------------------------------- /tests/nt/syntax/ntriples-star-syntax-5.nt: -------------------------------------------------------------------------------- 1 | <<<<>><<>>>><<<<>><<>>>>. -------------------------------------------------------------------------------- /tests/semantics/README: -------------------------------------------------------------------------------- 1 | This README is for the RDF-star Semantics test suite, 2 | by the W3C RDF-DEV Community Group task force on RDF*. 3 | This test suite contains two kinds of tests: 4 | 5 | Positive Entailment Tests (PositiveEntailmentTest) 6 | Negative Entailment Tests (NegativeEntailmentTest) 7 | 8 | The manifest.jsonld file in this directory lists all of the approved tests in the 9 | RDF WG's RDF Entailment test suite. 10 | 11 | Each test is one of the above kinds of tests. All tests have 12 | - a name (name), 13 | - an input RDF graph URL (action), 14 | - an output RDF graph URL or the special marker false (result), 15 | - an entailment regime, which is "simple", "RDF", "RDFS" or "RDFS-Plus" (entailmentRegime), 16 | - a list of recognized datatypes (recognizedDatatypes), 17 | - a list of unrecognized datatypes (unrecognizedDatatypes). 18 | 19 | An implementation passes a Positive (Negative) Entailment Test if, when 20 | configured to 21 | 1/ perform entailment under the entailment regime of the test or some 22 | entailment regime that is stronger (weaker) than the entailment regime and 23 | 2/ recognize all the datatypes in the list of recognized datatypes and 24 | none of the datatypes in the list of unrecognized datatypes, 25 | - for tests that have an output graph, determines that the input RDF graph 26 | entails (does not entail) the output RDF graph 27 | - for tests that have false as output, either determines that the input 28 | RDF graph entails (does not entail) an inconsistent RDF graph or that the 29 | input RDF graph is inconsistent (consistent). 30 | 31 | An implementation also passes a test if when configured differently from a 32 | correct configuration as given above nonetheless produces the given result, 33 | and the result is correct in the configured entailment regime with the 34 | configured recognized datatypes. 35 | 36 | The home of the test suite should eventually be 37 | . 38 | Per RFC 3986 section 5.1.3, the base IRI for parsing each file is the 39 | retrieval IRI for that file, but changing base IRIs should not affect any 40 | testing results. 41 | 42 | 43 | Test results should be submitted as EARL reports. See 44 | http://www.w3.org/TR/EARL10-Schema/ for information on EARL. 45 | 46 | A document on the results of the testing will eventually be at 47 | http://w3c.github.io/rdf-star/tests/reports.html . 48 | This document will have more information on submitting reports, including examples 49 | of what the reports should contain. -------------------------------------------------------------------------------- /tests/semantics/canonical-literal-control.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | :a :b "42"^^xsd:integer. -------------------------------------------------------------------------------- /tests/semantics/canonical-literal.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b "42"^^xsd:integer >> :p1 :o1. -------------------------------------------------------------------------------- /tests/semantics/control-sameas-a.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix owl: 3 | 4 | :superman :can :fly . 5 | :clark owl:sameAs :superman. 6 | -------------------------------------------------------------------------------- /tests/semantics/control-sameas-r.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | :clark :can :fly . 4 | -------------------------------------------------------------------------------- /tests/semantics/index.html: -------------------------------------------------------------------------------- 1 | manifest.html -------------------------------------------------------------------------------- /tests/semantics/lowercase-language-string-control.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | :a :b "hello"@en-us. -------------------------------------------------------------------------------- /tests/semantics/lowercase-language-string.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b "hello"@en-us >> :p1 :o1. -------------------------------------------------------------------------------- /tests/semantics/malformed-literal-2a.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b "c"^^xsd:integer >> :p1 :o1. 5 | << :d :b "c"^^xsd:integer >> :p2 :o2. -------------------------------------------------------------------------------- /tests/semantics/malformed-literal-2r.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b _:x >> :p1 :o1. 5 | << :d :b _:x >> :p2 :o2. -------------------------------------------------------------------------------- /tests/semantics/malformed-literal-3a.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b "c"^^xsd:integer >> :p1 :o1. 5 | << :d :b "d"^^xsd:integer >> :p2 :o2. -------------------------------------------------------------------------------- /tests/semantics/malformed-literal-3r.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b _:x >> :p1 :o1. 5 | << :d :b _:x >> :p2 :o2. -------------------------------------------------------------------------------- /tests/semantics/malformed-literal-control.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | :a :b "c"^^xsd:integer. -------------------------------------------------------------------------------- /tests/semantics/malformed-literal-other.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b "d"^^xsd:integer >> :p1 :o1. -------------------------------------------------------------------------------- /tests/semantics/malformed-literal.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b "c"^^xsd:integer >> :p1 :o1. -------------------------------------------------------------------------------- /tests/semantics/non-canonical-literal-control.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | :a :b "042"^^xsd:integer. -------------------------------------------------------------------------------- /tests/semantics/non-canonical-literal.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b "042"^^xsd:integer >> :p1 :o1. -------------------------------------------------------------------------------- /tests/semantics/superman.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix owl: 3 | 4 | << :superman :can :fly >> :reportedBy :clark. 5 | :clark owl:sameAs :superman. -------------------------------------------------------------------------------- /tests/semantics/superman_undesired_entailment.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :clark :can :fly >> :reportedBy :clark. 4 | -------------------------------------------------------------------------------- /tests/semantics/test000o.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | :s1 :p1 << :x :y :z >>. 4 | -------------------------------------------------------------------------------- /tests/semantics/test000s.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :c >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test001a.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :c >> :p1 :o1. 4 | << :a :b :c >> :p2 :o2. 5 | -------------------------------------------------------------------------------- /tests/semantics/test001r.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :c >> :p1 :o1; :p2 :o2. 4 | -------------------------------------------------------------------------------- /tests/semantics/test002a.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :c >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test002or.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b _:x >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test002pgr.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | :a :b :c. 4 | -------------------------------------------------------------------------------- /tests/semantics/test002r.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :c >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test002sbr.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << _:x :b _:x >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test002sor.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << _:x :b _:y >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test002sr.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << _:x :b :c >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test003a.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :a >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test003r.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :a >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test004a.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :c >> :p1 :o1. 4 | :a :label "A". 5 | :c :label "C". -------------------------------------------------------------------------------- /tests/semantics/test004fr.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << _:x :b :c >> :p1 :o1. 4 | _:x :label "C". 5 | -------------------------------------------------------------------------------- /tests/semantics/test004or.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b _:x >> :p1 :o1. 4 | _:x :label "C". 5 | -------------------------------------------------------------------------------- /tests/semantics/test004sr.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << _:x :b :c >> :p1 :o1. 4 | _:x :label "A". 5 | -------------------------------------------------------------------------------- /tests/semantics/test005.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :d >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/test006a.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b "42"^^xsd:integer >> :p1 :o1. 5 | :s2 :p2 "42"^^xsd:integer. -------------------------------------------------------------------------------- /tests/semantics/test006r.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | prefix xsd: 3 | 4 | << :a :b _:x >> :p1 :o1. 5 | :s2 :p2 _:x. -------------------------------------------------------------------------------- /tests/semantics/test007a.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | :a :b :c {| :p1 :o1 |}. 4 | -------------------------------------------------------------------------------- /tests/semantics/test007a2.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | :a :b :c. 4 | << :a :b :c >> :p1 :o1. 5 | -------------------------------------------------------------------------------- /tests/semantics/test007r1.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | :a :b :c. 4 | -------------------------------------------------------------------------------- /tests/semantics/test007r2.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b :c >> :p1 :o1. 4 | -------------------------------------------------------------------------------- /tests/semantics/upercase-language-string-control.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | :a :b "hello"@en-US. -------------------------------------------------------------------------------- /tests/semantics/upercase-language-string.ttl: -------------------------------------------------------------------------------- 1 | prefix : 2 | 3 | << :a :b "hello"@en-US >> :p1 :o1. -------------------------------------------------------------------------------- /tests/sparql/eval/data-0.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | <<:a :b :c>> :q :z . 4 | :a :q <<:a :b :c>> . 5 | 6 | :f :g << <<:x1 :y1 123 >> :p :o >> . 7 | 8 | :f :g << :s :p <<:x2 :y3 123 >> >> . 9 | 10 | << :s1 :p1 :o1 >> :q << :s1 :p1 :o1 >> . 11 | 12 | :a :b :c {| :q1 :z1 |} . 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/sparql/eval/data-1.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | <<:a :b :c>> :q :z . 4 | -------------------------------------------------------------------------------- /tests/sparql/eval/data-2.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p1 :o . 4 | <<:s :p1 :o>> :q :z . 5 | 6 | # pattern-3 7 | :a1 :b <<:s :p1 :o>> . 8 | <<:s :p1 :o>> :b :a2 . 9 | 10 | # pattern-5 11 | :s :p2 :o . 12 | <<:s :p2 :o>> :sym <<:s :p2 :o>> . 13 | 14 | # pattern-6 15 | <<:s :p2 :o>> :p3 :z . 16 | << <<:s :p2 :o>> :p3 :z >> :q :o . 17 | -------------------------------------------------------------------------------- /tests/sparql/eval/data-3.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :a :b :c {| :q :z |} . 4 | :s :p :o . 5 | -------------------------------------------------------------------------------- /tests/sparql/eval/data-4.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o1 . 4 | 5 | GRAPH :g { 6 | <<:s :p :o1 >> :q1 :z1 . 7 | <<:s :p :o2 >> :q2 :z2 . 8 | } 9 | 10 | GRAPH :g1 { _:b :r :o3 . _:b :r :o4 . } 11 | 12 | GRAPH :g2 { << _:b :r :o3 >> :pb "abc" . } 13 | 14 | -------------------------------------------------------------------------------- /tests/sparql/eval/data-5.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | <<:s1 :p :o>> :q :z . 4 | <<:s2 :p :o>> :p "same-p" . 5 | <<:s3 :p :o>> : "same-p" . 6 | 7 | 8 | :z1 :q << :s1 :p :o >> . 9 | :z2 :p << :s2 :p :o >> . 10 | 11 | -------------------------------------------------------------------------------- /tests/sparql/eval/data-6.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | GRAPH :g1 { :s1 :p1 :o1 } 4 | GRAPH :g2 { :s2 :p2 :o2 } 5 | -------------------------------------------------------------------------------- /tests/sparql/eval/data-7.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :x1 :left << :a :b 123 >> . 4 | :x1 :right << :a :b 123.0 >> . 5 | 6 | :x2 :left << :a :b 123 >> . 7 | :x2 :right << :a :b 123 >> . 8 | 9 | :x3 :left << << :a :b 123 >> :q 999 >> . 10 | :x3 :right << << :a :b 123.0 >> :q 999 >> . 11 | 12 | :x4 :left << :a :b 123 >> . 13 | :x4 :right << :c :d 123 >> . 14 | 15 | :x5 :left << _:bnode1 :b 123 >> . 16 | :x5 :right << _:bnode1 :b 123 >> . 17 | 18 | :x6 :left << _:bnode2 :b 123e0 >> . 19 | :x6 :right << _:bnode2 :b 123 >> . 20 | 21 | :x7 :left << :a :b 9 >> . 22 | :x7 :right << :a :b 123 >> . 23 | 24 | 25 | -------------------------------------------------------------------------------- /tests/sparql/eval/data-order-kind.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | # The different kinds of orderable items. 4 | # (Not in collation order). 5 | 6 | :item :p :x . 7 | 8 | :item :p << :s :p :o >> . 9 | 10 | :item :p "abc" . 11 | 12 | :item :p _:b . 13 | 14 | ## (Lowest) no value assigned to the variable or expression in this solution. 15 | ## Blank nodes 16 | ## IRIs 17 | ## RDF literals 18 | ## RDF-star embedded triple terms 19 | -------------------------------------------------------------------------------- /tests/sparql/eval/data-order.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | # Items that can be ordered 4 | # The test query deals with up to 20 items. 5 | # The integer in the subject does not correspond to expected order. 6 | 7 | :s-01 :p <<:s :p 123>> . 8 | :s-02 :p <<:s :p -456>> . 9 | 10 | :s-03 :p _:blank-node . 11 | 12 | :s-04 :p <<:s2 :p 900>> . 13 | :s-05 :p <<:s1 :p 999>> . 14 | :s-06 :p <<:s1 :a 999>> . 15 | 16 | :s-07 :p "string" . 17 | 18 | :s-08 :p << <<:x :y :z >> :q :r >> . 19 | :s-09 :p << :s :p <<:x :y :z>> >> . 20 | :s-10 :p << <<:x :y :z>> :q <<:x :y :z>> >> . 21 | 22 | :s-11 :p << <<:s1 :a :o>> :q :r >> . 23 | 24 | :s-12 :p . 25 | 26 | 27 | -------------------------------------------------------------------------------- /tests/sparql/eval/empty.nq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/rdf-star/59eb0293b2b620023ee38252228c725769ad206f/tests/sparql/eval/empty.nq -------------------------------------------------------------------------------- /tests/sparql/eval/index.html: -------------------------------------------------------------------------------- 1 | manifest.html -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-2.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<:a :b :c>> ?p ?o 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-2.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "p" , "o" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "p": { "type": "uri" , "value": "http://example/q" } , 8 | "o": { "type": "uri" , "value": "http://example/z" } 9 | } 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-3.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <> ?p ?o 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-3.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "s" , "p" , "o" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "s": { "type": "uri" , "value": "http://example/a" } , 8 | "p": { "type": "uri" , "value": "http://example/q" } , 9 | "o": { "type": "uri" , "value": "http://example/z" } 10 | } 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-4.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<:a ?p :c>> ?q :z . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-4.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "p" , "q" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "p": { "type": "uri" , "value": "http://example/b" } , 8 | "q": { "type": "uri" , "value": "http://example/q" } 9 | } 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-5.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<:a :b ?o>> ?q :z . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-5.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "o" , "q" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "o": { "type": "uri" , "value": "http://example/c" } , 8 | "q": { "type": "uri" , "value": "http://example/q" } 9 | } 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-6.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <> ?q :z . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-basic-6.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "a" , "b" , "q" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | 7 | ] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-1.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT { 4 | <<:a :b :c >> :q :z . 5 | } WHERE { } 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-1.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | << :a :b :c >> :q :z . 4 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-2.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT WHERE { 4 | <<:a :b :c >> :q :z . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-2.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | << :a :b :c >> :q :z . 4 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-3.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT { 4 | << ?s ?p ?o >> :source :ABC . 5 | } WHERE { 6 | ?s ?p ?o . 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-3.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | << << :a :b :c >> :q :z >> 4 | :source :ABC . 5 | 6 | << :a :b :c >> :source :ABC . 7 | 8 | << :s :p :o >> :source :ABC . 9 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-4.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT { 4 | :a :b ?c {| :source :ABC |} . 5 | } WHERE { 6 | :a :b ?c . 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-4.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :a :b :c . 4 | 5 | << :a :b :c >> :source :ABC . 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-5.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT WHERE { 4 | :a :b ?c {| ?q ?z |} . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-construct-5.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :a :b :c . 4 | 5 | << :a :b :c >> :q :z . 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-expr-01.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT { 4 | ?t :graph ?g . 5 | } WHERE { 6 | GRAPH ?g { 7 | ?s ?p ?o . 8 | BIND(<> AS ?t) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-expr-01.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | << << :s :p :o2 >> :q2 :z2 >> 4 | :graph :g . 5 | 6 | << _:b0 :r :o4 >> :graph :g1 . 7 | 8 | << _:b0 :r :o3 >> :graph :g1 . 9 | 10 | << << :s :p :o1 >> :q1 :z1 >> 11 | :graph :g . 12 | 13 | << << _:b0 :r :o3 >> :pb "abc" >> 14 | :graph :g2 . 15 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-expr-02.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | VALUES ?t { 5 | <<:s :p :o >> 6 | :x 7 | <<:s :p :o1 >> 8 | } 9 | FILTER(isTriple(?t)) 10 | FILTER(SUBJECT(?t) = :s) 11 | FILTER(PREDICATE(?t) = :p) 12 | FILTER(OBJECT(?t) = :o) 13 | } 14 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-expr-02.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "t" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "t": { 8 | "type": "triple" , 9 | "value": { 10 | "subject": { "type": "uri" , "value": "http://example/s" } , 11 | "predicate": { "type": "uri" , "value": "http://example/p" } , 12 | "object": { "type": "uri" , "value": "http://example/o" } 13 | } 14 | } 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-graphs-1.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :s :p ?o . 5 | GRAPH ?g { <<:s :p ?o>> ?q ?z } 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-graphs-1.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "o" , "q" , "z" , "g" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "o": { "type": "uri" , "value": "http://example/o1" } , 8 | "q": { "type": "uri" , "value": "http://example/q1" } , 9 | "z": { "type": "uri" , "value": "http://example/z1" } , 10 | "g": { "type": "uri" , "value": "http://example/g" } 11 | } 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-graphs-2.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | GRAPH ?g1 { ?s ?p ?o } 5 | GRAPH ?g2 { << ?s ?p ?o >> ?q ?z } 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-graphs-2.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "s" , "p" , "o" , "g1" , "q" , "z" , "g2" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "s": { "type": "bnode" , "value": "b0" } , 8 | "p": { "type": "uri" , "value": "http://example/r" } , 9 | "o": { "type": "uri" , "value": "http://example/o3" } , 10 | "g1": { "type": "uri" , "value": "http://example/g1" } , 11 | "q": { "type": "uri" , "value": "http://example/pb" } , 12 | "z": { "type": "literal" , "value": "abc" } , 13 | "g2": { "type": "uri" , "value": "http://example/g2" } 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-op-1.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?x :left ?left . 5 | ?x :right ?right . 6 | FILTER( sameTerm(?left, ?right) ) 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-op-1.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "x" , "left" , "right" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "x": { "type": "uri" , "value": "http://example/x2" } , 8 | "left": { 9 | "type": "triple" , 10 | "value": { 11 | "subject": { "type": "uri" , "value": "http://example/a" } , 12 | "predicate": { "type": "uri" , "value": "http://example/b" } , 13 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 14 | } 15 | } , 16 | "right": { 17 | "type": "triple" , 18 | "value": { 19 | "subject": { "type": "uri" , "value": "http://example/a" } , 20 | "predicate": { "type": "uri" , "value": "http://example/b" } , 21 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 22 | } 23 | } 24 | } , 25 | { 26 | "x": { "type": "uri" , "value": "http://example/x5" } , 27 | "left": { 28 | "type": "triple" , 29 | "value": { 30 | "subject": { "type": "bnode" , "value": "b0" } , 31 | "predicate": { "type": "uri" , "value": "http://example/b" } , 32 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 33 | } 34 | } , 35 | "right": { 36 | "type": "triple" , 37 | "value": { 38 | "subject": { "type": "bnode" , "value": "b0" } , 39 | "predicate": { "type": "uri" , "value": "http://example/b" } , 40 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 41 | } 42 | } 43 | } 44 | ] 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-op-2.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?x :left ?left . 5 | ?x :right ?right . 6 | FILTER( ! sameTerm(?left, ?right) ) 7 | FILTER(?left = ?right) 8 | } 9 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-op-2.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "x" , "left" , "right" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "x": { "type": "uri" , "value": "http://example/x6" } , 8 | "left": { 9 | "type": "triple" , 10 | "value": { 11 | "subject": { "type": "bnode" , "value": "b0" } , 12 | "predicate": { "type": "uri" , "value": "http://example/b" } , 13 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#double" , "value": "123e0" } 14 | } 15 | } , 16 | "right": { 17 | "type": "triple" , 18 | "value": { 19 | "subject": { "type": "bnode" , "value": "b0" } , 20 | "predicate": { "type": "uri" , "value": "http://example/b" } , 21 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 22 | } 23 | } 24 | } , 25 | { 26 | "x": { "type": "uri" , "value": "http://example/x1" } , 27 | "left": { 28 | "type": "triple" , 29 | "value": { 30 | "subject": { "type": "uri" , "value": "http://example/a" } , 31 | "predicate": { "type": "uri" , "value": "http://example/b" } , 32 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 33 | } 34 | } , 35 | "right": { 36 | "type": "triple" , 37 | "value": { 38 | "subject": { "type": "uri" , "value": "http://example/a" } , 39 | "predicate": { "type": "uri" , "value": "http://example/b" } , 40 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "value": "123.0" } 41 | } 42 | } 43 | } , 44 | { 45 | "x": { "type": "uri" , "value": "http://example/x3" } , 46 | "left": { 47 | "type": "triple" , 48 | "value": { 49 | "subject": { 50 | "type": "triple" , 51 | "value": { 52 | "subject": { "type": "uri" , "value": "http://example/a" } , 53 | "predicate": { "type": "uri" , "value": "http://example/b" } , 54 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 55 | } 56 | } , 57 | "predicate": { "type": "uri" , "value": "http://example/q" } , 58 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "999" } 59 | } 60 | } , 61 | "right": { 62 | "type": "triple" , 63 | "value": { 64 | "subject": { 65 | "type": "triple" , 66 | "value": { 67 | "subject": { "type": "uri" , "value": "http://example/a" } , 68 | "predicate": { "type": "uri" , "value": "http://example/b" } , 69 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "value": "123.0" } 70 | } 71 | } , 72 | "predicate": { "type": "uri" , "value": "http://example/q" } , 73 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "999" } 74 | } 75 | } 76 | } 77 | ] 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-op-3.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?x :left ?left . 5 | ?x :right ?right . 6 | FILTER ( ?left < ?right ) 7 | FILTER ( ?right > ?left ) 8 | } 9 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-op-3.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "x" , "left" , "right" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "x": { "type": "uri" , "value": "http://example/x7" } , 8 | "left": { 9 | "type": "triple" , 10 | "value": { 11 | "subject": { "type": "uri" , "value": "http://example/a" } , 12 | "predicate": { "type": "uri" , "value": "http://example/b" } , 13 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "9" } 14 | } 15 | } , 16 | "right": { 17 | "type": "triple" , 18 | "value": { 19 | "subject": { "type": "uri" , "value": "http://example/a" } , 20 | "predicate": { "type": "uri" , "value": "http://example/b" } , 21 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 22 | } 23 | } 24 | } 25 | ] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-op-4.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?x :left ?left . 5 | ?x :right ?right . 6 | FILTER ( ?left <= ?right ) 7 | FILTER ( ?right >= ?left ) 8 | } 9 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-op-4.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "x" , "left" , "right" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "x": { "type": "uri" , "value": "http://example/x7" } , 8 | "left": { 9 | "type": "triple" , 10 | "value": { 11 | "subject": { "type": "uri" , "value": "http://example/a" } , 12 | "predicate": { "type": "uri" , "value": "http://example/b" } , 13 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "9" } 14 | } 15 | } , 16 | "right": { 17 | "type": "triple" , 18 | "value": { 19 | "subject": { "type": "uri" , "value": "http://example/a" } , 20 | "predicate": { "type": "uri" , "value": "http://example/b" } , 21 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 22 | } 23 | } 24 | } , 25 | { 26 | "x": { "type": "uri" , "value": "http://example/x2" } , 27 | "left": { 28 | "type": "triple" , 29 | "value": { 30 | "subject": { "type": "uri" , "value": "http://example/a" } , 31 | "predicate": { "type": "uri" , "value": "http://example/b" } , 32 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 33 | } 34 | } , 35 | "right": { 36 | "type": "triple" , 37 | "value": { 38 | "subject": { "type": "uri" , "value": "http://example/a" } , 39 | "predicate": { "type": "uri" , "value": "http://example/b" } , 40 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 41 | } 42 | } 43 | } , 44 | { 45 | "x": { "type": "uri" , "value": "http://example/x1" } , 46 | "left": { 47 | "type": "triple" , 48 | "value": { 49 | "subject": { "type": "uri" , "value": "http://example/a" } , 50 | "predicate": { "type": "uri" , "value": "http://example/b" } , 51 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 52 | } 53 | } , 54 | "right": { 55 | "type": "triple" , 56 | "value": { 57 | "subject": { "type": "uri" , "value": "http://example/a" } , 58 | "predicate": { "type": "uri" , "value": "http://example/b" } , 59 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "value": "123.0" } 60 | } 61 | } 62 | } , 63 | { 64 | "x": { "type": "uri" , "value": "http://example/x5" } , 65 | "left": { 66 | "type": "triple" , 67 | "value": { 68 | "subject": { "type": "bnode" , "value": "b0" } , 69 | "predicate": { "type": "uri" , "value": "http://example/b" } , 70 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 71 | } 72 | } , 73 | "right": { 74 | "type": "triple" , 75 | "value": { 76 | "subject": { "type": "bnode" , "value": "b0" } , 77 | "predicate": { "type": "uri" , "value": "http://example/b" } , 78 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 79 | } 80 | } 81 | } , 82 | { 83 | "x": { "type": "uri" , "value": "http://example/x3" } , 84 | "left": { 85 | "type": "triple" , 86 | "value": { 87 | "subject": { 88 | "type": "triple" , 89 | "value": { 90 | "subject": { "type": "uri" , "value": "http://example/a" } , 91 | "predicate": { "type": "uri" , "value": "http://example/b" } , 92 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 93 | } 94 | } , 95 | "predicate": { "type": "uri" , "value": "http://example/q" } , 96 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "999" } 97 | } 98 | } , 99 | "right": { 100 | "type": "triple" , 101 | "value": { 102 | "subject": { 103 | "type": "triple" , 104 | "value": { 105 | "subject": { "type": "uri" , "value": "http://example/a" } , 106 | "predicate": { "type": "uri" , "value": "http://example/b" } , 107 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "value": "123.0" } 108 | } 109 | } , 110 | "predicate": { "type": "uri" , "value": "http://example/q" } , 111 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "999" } 112 | } 113 | } 114 | } , 115 | { 116 | "x": { "type": "uri" , "value": "http://example/x6" } , 117 | "left": { 118 | "type": "triple" , 119 | "value": { 120 | "subject": { "type": "bnode" , "value": "b1" } , 121 | "predicate": { "type": "uri" , "value": "http://example/b" } , 122 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#double" , "value": "123e0" } 123 | } 124 | } , 125 | "right": { 126 | "type": "triple" , 127 | "value": { 128 | "subject": { "type": "bnode" , "value": "b1" } , 129 | "predicate": { "type": "uri" , "value": "http://example/b" } , 130 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 131 | } 132 | } 133 | } 134 | ] 135 | } 136 | } 137 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-order-1.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "v" , "index" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "v": { "type": "bnode" , "value": "b0" } , 8 | "index": { "type": "literal" , "value": "B-1" } 9 | } , 10 | { 11 | "v": { "type": "uri" , "value": "http://example/x" } , 12 | "index": { "type": "literal" , "value": "B-2" } 13 | } , 14 | { 15 | "v": { "type": "literal" , "value": "abc" } , 16 | "index": { "type": "literal" , "value": "A-3" } 17 | } , 18 | { 19 | "v": { 20 | "type": "triple" , 21 | "value": { 22 | "subject": { "type": "uri" , "value": "http://example/s" } , 23 | "predicate": { "type": "uri" , "value": "http://example/p" } , 24 | "object": { "type": "uri" , "value": "http://example/o" } 25 | } 26 | } , 27 | "index": { "type": "literal" , "value": "C-4" } 28 | } 29 | ] 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-order-2.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "v" , "index" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "v": { "type": "bnode" , "value": "b0" } , 8 | "index": { "type": "literal" , "value": "B-1" } 9 | } , 10 | { 11 | "v": { "type": "uri" , "value": "http://host/entity" } , 12 | "index": { "type": "literal" , "value": "B-2" } 13 | } , 14 | { 15 | "v": { "type": "literal" , "value": "string" } , 16 | "index": { "type": "literal" , "value": "A-3" } 17 | } , 18 | { 19 | "v": { 20 | "type": "triple" , 21 | "value": { 22 | "subject": { "type": "uri" , "value": "http://example.com/s" } , 23 | "predicate": { "type": "uri" , "value": "http://example.com/p" } , 24 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "-456" } 25 | } 26 | } , 27 | "index": { "type": "literal" , "value": "C-4" } 28 | } , 29 | { 30 | "v": { 31 | "type": "triple" , 32 | "value": { 33 | "subject": { "type": "uri" , "value": "http://example.com/s" } , 34 | "predicate": { "type": "uri" , "value": "http://example.com/p" } , 35 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 36 | } 37 | } , 38 | "index": { "type": "literal" , "value": "B-5" } 39 | } , 40 | { 41 | "v": { 42 | "type": "triple" , 43 | "value": { 44 | "subject": { "type": "uri" , "value": "http://example.com/s" } , 45 | "predicate": { "type": "uri" , "value": "http://example.com/p" } , 46 | "object": { 47 | "type": "triple" , 48 | "value": { 49 | "subject": { "type": "uri" , "value": "http://example.com/x" } , 50 | "predicate": { "type": "uri" , "value": "http://example.com/y" } , 51 | "object": { "type": "uri" , "value": "http://example.com/z" } 52 | } 53 | } 54 | } 55 | } , 56 | "index": { "type": "literal" , "value": "B-6" } 57 | } , 58 | { 59 | "v": { 60 | "type": "triple" , 61 | "value": { 62 | "subject": { "type": "uri" , "value": "http://example.com/s1" } , 63 | "predicate": { "type": "uri" , "value": "http://example.com/a" } , 64 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "999" } 65 | } 66 | } , 67 | "index": { "type": "literal" , "value": "C-7" } 68 | } , 69 | { 70 | "v": { 71 | "type": "triple" , 72 | "value": { 73 | "subject": { "type": "uri" , "value": "http://example.com/s1" } , 74 | "predicate": { "type": "uri" , "value": "http://example.com/p" } , 75 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "999" } 76 | } 77 | } , 78 | "index": { "type": "literal" , "value": "C-8" } 79 | } , 80 | { 81 | "v": { 82 | "type": "triple" , 83 | "value": { 84 | "subject": { "type": "uri" , "value": "http://example.com/s2" } , 85 | "predicate": { "type": "uri" , "value": "http://example.com/p" } , 86 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "900" } 87 | } 88 | } , 89 | "index": { "type": "literal" , "value": "A-9" } 90 | } , 91 | { 92 | "v": { 93 | "type": "triple" , 94 | "value": { 95 | "subject": { 96 | "type": "triple" , 97 | "value": { 98 | "subject": { "type": "uri" , "value": "http://example.com/s1" } , 99 | "predicate": { "type": "uri" , "value": "http://example.com/a" } , 100 | "object": { "type": "uri" , "value": "http://example.com/o" } 101 | } 102 | } , 103 | "predicate": { "type": "uri" , "value": "http://example.com/q" } , 104 | "object": { "type": "uri" , "value": "http://example.com/r" } 105 | } 106 | } , 107 | "index": { "type": "literal" , "value": "C-10" } 108 | } , 109 | { 110 | "v": { 111 | "type": "triple" , 112 | "value": { 113 | "subject": { 114 | "type": "triple" , 115 | "value": { 116 | "subject": { "type": "uri" , "value": "http://example.com/x" } , 117 | "predicate": { "type": "uri" , "value": "http://example.com/y" } , 118 | "object": { "type": "uri" , "value": "http://example.com/z" } 119 | } 120 | } , 121 | "predicate": { "type": "uri" , "value": "http://example.com/q" } , 122 | "object": { "type": "uri" , "value": "http://example.com/r" } 123 | } 124 | } , 125 | "index": { "type": "literal" , "value": "C-11" } 126 | } , 127 | { 128 | "v": { 129 | "type": "triple" , 130 | "value": { 131 | "subject": { 132 | "type": "triple" , 133 | "value": { 134 | "subject": { "type": "uri" , "value": "http://example.com/x" } , 135 | "predicate": { "type": "uri" , "value": "http://example.com/y" } , 136 | "object": { "type": "uri" , "value": "http://example.com/z" } 137 | } 138 | } , 139 | "predicate": { "type": "uri" , "value": "http://example.com/q" } , 140 | "object": { 141 | "type": "triple" , 142 | "value": { 143 | "subject": { "type": "uri" , "value": "http://example.com/x" } , 144 | "predicate": { "type": "uri" , "value": "http://example.com/y" } , 145 | "object": { "type": "uri" , "value": "http://example.com/z" } 146 | } 147 | } 148 | } 149 | } , 150 | "index": { "type": "literal" , "value": "A-12" } 151 | } 152 | ] 153 | } 154 | } 155 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-order-by.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * 4 | WHERE { 5 | # Record ORDER BY for up to 20 items. 6 | # Each clause slices one ?v and sets ?index. 7 | # ?index is a unique string which is not in the same order. 8 | { 9 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 0 LIMIT 1 } 10 | BIND( "B-1" as ?index ) 11 | } UNION { 12 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 1 LIMIT 1 } 13 | BIND( "B-2" AS ?index ) 14 | } UNION { 15 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 2 LIMIT 1 } 16 | BIND( "A-3" AS ?index ) 17 | } UNION { 18 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 3 LIMIT 1 } 19 | BIND( "C-4" AS ?index ) 20 | } UNION { 21 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 4 LIMIT 1 } 22 | BIND( "B-5" AS ?index ) 23 | } UNION { 24 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 5 LIMIT 1 } 25 | BIND( "B-6" AS ?index ) 26 | } UNION { 27 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 6 LIMIT 1 } 28 | BIND( "C-7" AS ?index ) 29 | } UNION { 30 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 7 LIMIT 1 } 31 | BIND( "C-8" AS ?index ) 32 | } UNION { 33 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 8 LIMIT 1 } 34 | BIND( "A-9" AS ?index ) 35 | } UNION { 36 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 9 LIMIT 1 } 37 | BIND( "C-10" AS ?index ) 38 | } UNION { 39 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 10 LIMIT 1 } 40 | BIND( "C-11" as ?index ) 41 | } UNION { 42 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 11 LIMIT 1 } 43 | BIND( "A-12" AS ?index ) 44 | } UNION { 45 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 12 LIMIT 1 } 46 | BIND( "B-13" AS ?index ) 47 | } UNION { 48 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 13 LIMIT 1 } 49 | BIND( "A-14" AS ?index ) 50 | } UNION { 51 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 14 LIMIT 1 } 52 | BIND( "B-15" AS ?index ) 53 | } UNION { 54 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 15 LIMIT 1 } 55 | BIND( "C-16" AS ?index ) 56 | } UNION { 57 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 16 LIMIT 1 } 58 | BIND( "C-17" AS ?index ) 59 | } UNION { 60 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 17 LIMIT 1 } 61 | BIND( "B-18" AS ?index ) 62 | } UNION { 63 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 18 LIMIT 1 } 64 | BIND( "A-19" AS ?index ) 65 | } UNION { 66 | { SELECT ?v { ?s ?p ?v } ORDER BY ?v OFFSET 19 LIMIT 1 } 67 | BIND( "A-20" AS ?index ) 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-01.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :s :p1 ?o . 5 | <<:s :p1 ?o>> ?q ?z . 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-01.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "o" , "q" , "z" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "o": { "type": "uri" , "value": "http://example/o" } , 8 | "q": { "type": "uri" , "value": "http://example/b" } , 9 | "z": { "type": "uri" , "value": "http://example/a2" } 10 | } , 11 | { 12 | "o": { "type": "uri" , "value": "http://example/o" } , 13 | "q": { "type": "uri" , "value": "http://example/q" } , 14 | "z": { "type": "uri" , "value": "http://example/z" } 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-02.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<:s :p1 ?o>> ?q ?z . 5 | :s :p1 ?o . 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-02.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "o" , "q" , "z" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "o": { "type": "uri" , "value": "http://example/o" } , 8 | "q": { "type": "uri" , "value": "http://example/b" } , 9 | "z": { "type": "uri" , "value": "http://example/a2" } 10 | } , 11 | { 12 | "o": { "type": "uri" , "value": "http://example/o" } , 13 | "q": { "type": "uri" , "value": "http://example/q" } , 14 | "z": { "type": "uri" , "value": "http://example/z" } 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-03.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | ## Connected via triple term 4 | SELECT * { 5 | ?s :b ?o . 6 | ?o :b ?z . 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-03.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "s" , "o" , "z" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "s": { "type": "uri" , "value": "http://example/a1" } , 8 | "o": { 9 | "type": "triple" , 10 | "value": { 11 | "subject": { "type": "uri" , "value": "http://example/s" } , 12 | "predicate": { "type": "uri" , "value": "http://example/p1" } , 13 | "object": { "type": "uri" , "value": "http://example/o" } 14 | } 15 | } , 16 | "z": { "type": "uri" , "value": "http://example/a2" } 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-04.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | ## No match 4 | SELECT * { 5 | ?s ?p << :s :p1 :zz >> . 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-04.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "s" , "p" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | 7 | ] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-05.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | # Matching Variables 4 | SELECT * { 5 | <> ?Q <> 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-05.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "s" , "p" , "o" , "Q" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "s": { "type": "uri" , "value": "http://example/s" } , 8 | "p": { "type": "uri" , "value": "http://example/p2" } , 9 | "o": { "type": "uri" , "value": "http://example/o" } , 10 | "Q": { "type": "uri" , "value": "http://example/sym" } 11 | } 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-06.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | # Nesting 4 | SELECT * { 5 | << <<:s :p2 :o>> :p3 :z>> :q ?q . 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-06.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "q" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "q": { "type": "uri" , "value": "http://example/o" } 8 | } 9 | ] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-07.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | # Nesting 4 | SELECT * { 5 | << <> :p3 ?x>> :q ?q 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-07.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "s" , "x" , "q" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "s": { "type": "uri" , "value": "http://example/s" } , 8 | "x": { "type": "uri" , "value": "http://example/z" } , 9 | "q": { "type": "uri" , "value": "http://example/o" } 10 | } 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-08.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | # Nesting via match 4 | SELECT * { 5 | ?t :p3 :z . 6 | << ?t :p3 :z >> :q :o . 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-08.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "t" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "t": { 8 | "type": "triple" , 9 | "value": { 10 | "subject": { "type": "uri" , "value": "http://example/s" } , 11 | "predicate": { "type": "uri" , "value": "http://example/p2" } , 12 | "object": { "type": "uri" , "value": "http://example/o" } 13 | } 14 | } 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-09.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | { <> ?p ?z } 5 | UNION 6 | { ?z ?p <> } 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-pattern-09.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "s" , "p" , "z" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "s": { "type": "uri" , "value": "http://example/s2" } , 8 | "p": { "type": "uri" , "value": "http://example/p" } , 9 | "z": { "type": "literal" , "value": "same-p" } 10 | } , 11 | { 12 | "s": { "type": "uri" , "value": "http://example/s2" } , 13 | "p": { "type": "uri" , "value": "http://example/p" } , 14 | "z": { "type": "uri" , "value": "http://example/z2" } 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-results-1.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-results-1.srj: -------------------------------------------------------------------------------- 1 | { "head": { 2 | "vars": [ "s" , "p" , "o" ] 3 | } , 4 | "results": { 5 | "bindings": [ 6 | { 7 | "s": { 8 | "type": "triple" , 9 | "value": { 10 | "subject": { "type": "uri" , "value": "http://example/a" } , 11 | "predicate": { "type": "uri" , "value": "http://example/b" } , 12 | "object": { "type": "uri" , "value": "http://example/c" } 13 | } 14 | } , 15 | "p": { "type": "uri" , "value": "http://example/q1" } , 16 | "o": { "type": "uri" , "value": "http://example/z1" } 17 | } , 18 | { 19 | "s": { 20 | "type": "triple" , 21 | "value": { 22 | "subject": { "type": "uri" , "value": "http://example/a" } , 23 | "predicate": { "type": "uri" , "value": "http://example/b" } , 24 | "object": { "type": "uri" , "value": "http://example/c" } 25 | } 26 | } , 27 | "p": { "type": "uri" , "value": "http://example/q" } , 28 | "o": { "type": "uri" , "value": "http://example/z" } 29 | } , 30 | { 31 | "s": { "type": "uri" , "value": "http://example/a" } , 32 | "p": { "type": "uri" , "value": "http://example/b" } , 33 | "o": { "type": "uri" , "value": "http://example/c" } 34 | } , 35 | { 36 | "s": { "type": "uri" , "value": "http://example/a" } , 37 | "p": { "type": "uri" , "value": "http://example/q" } , 38 | "o": { 39 | "type": "triple" , 40 | "value": { 41 | "subject": { "type": "uri" , "value": "http://example/a" } , 42 | "predicate": { "type": "uri" , "value": "http://example/b" } , 43 | "object": { "type": "uri" , "value": "http://example/c" } 44 | } 45 | } 46 | } , 47 | { 48 | "s": { "type": "uri" , "value": "http://example/f" } , 49 | "p": { "type": "uri" , "value": "http://example/g" } , 50 | "o": { 51 | "type": "triple" , 52 | "value": { 53 | "subject": { "type": "uri" , "value": "http://example/s" } , 54 | "predicate": { "type": "uri" , "value": "http://example/p" } , 55 | "object": { 56 | "type": "triple" , 57 | "value": { 58 | "subject": { "type": "uri" , "value": "http://example/x2" } , 59 | "predicate": { "type": "uri" , "value": "http://example/y3" } , 60 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 61 | } 62 | } 63 | } 64 | } 65 | } , 66 | { 67 | "s": { "type": "uri" , "value": "http://example/f" } , 68 | "p": { "type": "uri" , "value": "http://example/g" } , 69 | "o": { 70 | "type": "triple" , 71 | "value": { 72 | "subject": { 73 | "type": "triple" , 74 | "value": { 75 | "subject": { "type": "uri" , "value": "http://example/x1" } , 76 | "predicate": { "type": "uri" , "value": "http://example/y1" } , 77 | "object": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "123" } 78 | } 79 | } , 80 | "predicate": { "type": "uri" , "value": "http://example/p" } , 81 | "object": { "type": "uri" , "value": "http://example/o" } 82 | } 83 | } 84 | } , 85 | { 86 | "s": { 87 | "type": "triple" , 88 | "value": { 89 | "subject": { "type": "uri" , "value": "http://example/s1" } , 90 | "predicate": { "type": "uri" , "value": "http://example/p1" } , 91 | "object": { "type": "uri" , "value": "http://example/o1" } 92 | } 93 | } , 94 | "p": { "type": "uri" , "value": "http://example/q" } , 95 | "o": { 96 | "type": "triple" , 97 | "value": { 98 | "subject": { "type": "uri" , "value": "http://example/s1" } , 99 | "predicate": { "type": "uri" , "value": "http://example/p1" } , 100 | "object": { "type": "uri" , "value": "http://example/o1" } 101 | } 102 | } 103 | } 104 | ] 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-results-1.srx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | http://example/a 14 | 15 | 16 | http://example/b 17 | 18 | 19 | http://example/c 20 | 21 | 22 | 23 | 24 | http://example/q1 25 | 26 | 27 | http://example/z1 28 | 29 | 30 | 31 | 32 | 33 | 34 | http://example/a 35 | 36 | 37 | http://example/b 38 | 39 | 40 | http://example/c 41 | 42 | 43 | 44 | 45 | http://example/q 46 | 47 | 48 | http://example/z 49 | 50 | 51 | 52 | 53 | http://example/a 54 | 55 | 56 | http://example/b 57 | 58 | 59 | http://example/c 60 | 61 | 62 | 63 | 64 | http://example/a 65 | 66 | 67 | http://example/q 68 | 69 | 70 | 71 | 72 | http://example/a 73 | 74 | 75 | http://example/b 76 | 77 | 78 | http://example/c 79 | 80 | 81 | 82 | 83 | 84 | 85 | http://example/f 86 | 87 | 88 | http://example/g 89 | 90 | 91 | 92 | 93 | http://example/s 94 | 95 | 96 | http://example/p 97 | 98 | 99 | 100 | 101 | http://example/x2 102 | 103 | 104 | http://example/y3 105 | 106 | 107 | 123 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | http://example/f 117 | 118 | 119 | http://example/g 120 | 121 | 122 | 123 | 124 | 125 | 126 | http://example/x1 127 | 128 | 129 | http://example/y1 130 | 131 | 132 | 123 133 | 134 | 135 | 136 | 137 | http://example/p 138 | 139 | 140 | http://example/o 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | http://example/s1 150 | 151 | 152 | http://example/p1 153 | 154 | 155 | http://example/o1 156 | 157 | 158 | 159 | 160 | http://example/q 161 | 162 | 163 | 164 | 165 | http://example/s1 166 | 167 | 168 | http://example/p1 169 | 170 | 171 | http://example/o1 172 | 173 | 174 | 175 | 176 | 177 | 178 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-update-1.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT { 4 | << ?s ?p ?o >> :source ?g 5 | } WHERE { 6 | GRAPH ?g { ?s ?p ?o } 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-update-2.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | DELETE { GRAPH ?g { ?s ?p ?o } } 4 | INSERT { ?s ?p ?o {| :source ?g |} } 5 | WHERE { 6 | GRAPH ?g { ?s ?p ?o } 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/sparql-star-update-3.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT DATA { 4 | :s :p :o {| :source :faraway |} 5 | } 6 | ; 7 | DELETE DATA { :s :p :o } 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/update-result-1.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | GRAPH :g1 { :s1 :p1 :o1 } 4 | GRAPH :g2 { :s2 :p2 :o2 } 5 | 6 | << :s2 :p2 :o2 >> :source :g2 . 7 | << :s1 :p1 :o1 >> :source :g1 . 8 | -------------------------------------------------------------------------------- /tests/sparql/eval/update-result-2.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s1 :p1 :o1 . 4 | :s2 :p2 :o2 . 5 | << :s1 :p1 :o1 >> :source :g1 . 6 | << :s2 :p2 :o2 >> :source :g2. 7 | -------------------------------------------------------------------------------- /tests/sparql/eval/update-result-3.trig: -------------------------------------------------------------------------------- 1 | << >> 2 | . 3 | -------------------------------------------------------------------------------- /tests/sparql/syntax/index.html: -------------------------------------------------------------------------------- 1 | manifest.html -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-annotation-01.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o {| :r ?Z |} . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-annotation-02.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | PREFIX xsd: 3 | 4 | SELECT * { 5 | :s :p :o {| :source [ :graph ; 6 | :date "2020-01-20"^^xsd:date 7 | ] ; 8 | ?source [ :graph ; 9 | :date "2020-12-31"^^xsd:date 10 | ] 11 | |} 12 | } -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-annotation-03.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | PREFIX xsd: 3 | 4 | SELECT * { 5 | :s :p <<:a :b :c>> {| ?q ?z |} 6 | } -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-annotation-04.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | PREFIX xsd: 3 | 4 | SELECT * { 5 | :s :p <<:a :b :c>> {| ?q <<:s1 :p1 ?z>> |} 6 | } -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-annotation-05.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | PREFIX xsd: 3 | 4 | SELECT * { 5 | <> ?p ?o {| :r ?Z |} . 6 | } -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-annotation-06.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o {| :r/:q 'ABC' |} . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-annotation-07.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o {| :r [ :p1|:p2 'ABC'] |} . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-annotation-08.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT { 4 | ?s ?p ?o {| :source ?g |} 5 | } 6 | WHERE { GRAPH ?g { ?s ?p ?o } } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-annotation-09.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT WHERE { 4 | ?s :p ?o {| :q1 ?z |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-01.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :x <<:s :p :o>> 123 . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-02.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <> 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-03.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <> :q 123 . 5 | } -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-04.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<:s 3 :o >> :q ?z . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-05.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<:s [] :o>> :q 123 . 5 | } -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-06.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<:s :p [ :p1 :o1 ] >> :q 123 . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-07.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | << :s :p >> :q :o . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-08.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | << :g :s :p :o >> :q :o . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-09.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | VALUES ?x { << :s :p ?o >> } 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-10.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | VALUES ?x { << :s :p [] >> } 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-11.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o . 5 | BIND(<< [] ?p ?o >> AS ?t ) 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-12.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o . 5 | FILTER ( isTRIPLE(<< ?s ?p [] >>) ) 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-ann-1.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :s :p :o {| |} . 5 | } 6 | 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-ann-2.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :a :b ?X {| :s :p ?O |} . 5 | } 6 | 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-ann-path-1.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :x :p/:q :o {| ?p ?o |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-ann-path-2.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :x (:p|:q) :o {| ?p ?o |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-ann-path-3.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :x :p* :o {| ?p ?o |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-ann-path-4.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :x :p+ :o {| ?p ?o |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-ann-path-5.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?X :p? :o {| ?p ?o |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-ann-path-6.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT { 4 | ?s :p :o {| (:q1|:q2) :o |} 5 | } WHERE 6 | ?s :p ?o 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-ann-path-7.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT WHERE { 4 | ?s :p :z {| (:q1|:q2) ?o |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-update-1.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT DATA { 4 | << :a :b :c >> . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-update-2.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT DATA { 4 | << :g :a :b :c >> :p :o . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-update-3.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT DATA { 4 | :s :p :o {| :p/:q :z |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bad-update-4.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT DATA { 4 | {| :p :z |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-basic-01.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | << :a :b :c >> :p1 :o1. 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-basic-02.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :s :p << :a :b "c" >> . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-basic-03.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | << ?s ?p ?o >> ?Y ?Z . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-basic-04.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?S ?P << ?a ?b ?c >> . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-basic-05.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | VALUES ?x { 5 | <<:s :p :o >> 6 | << <<:s :p :o >> :q :z >> 7 | } 8 | VALUES (?y ?z) { (<<:s :p :o >> 123 ) 9 | (123 <<:s :p :o >> ) } 10 | } 11 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-basic-06.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT { <<:s :p :o >> :q :z } 4 | WHERE {} 5 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-basic-07.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT WHERE { 4 | <> ?q ?z . 5 | ?a ?b <> . 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bnode-01.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<_:a :p :o >> :q 456 . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bnode-02.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<:s :p _:a >> :q 456 . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-bnode-03.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <<[] :p [] >> :q :z . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-compound.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | 5 | <<:x ?R :z >> :p <<:a :b ?C >> . 6 | 7 | << <<:x ?R :z >> :p <<:a :b [] >> >> 8 | :q 9 | << <<[] ?R :z >> :p <<:a :b [] >> >> . 10 | } -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-expr-01.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o . 5 | BIND(<> AS ?t) 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-expr-02.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o . 5 | BIND(<< <> :q :z >> AS ?t) 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-expr-03.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o . 5 | BIND(TRIPLE(?s, ?p, ?o) AS ?t1) 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-expr-04.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?s ?p ?o . 5 | BIND(TRIPLE(?s, ?p, str(?o)) AS ?t2) 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-expr-05.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ?t :source :g 5 | FILTER(isTriple(?t)) 6 | FILTER(SUBJECT(?t) = :s) 7 | FILTER(PREDICATE(?t) = :p) 8 | FILTER(OBJECT(?t) = :o) 9 | } 10 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-expr-06.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | CONSTRUCT { 4 | ?t :graph ?g . 5 | } WHERE { 6 | GRAPH ?g { 7 | ?s ?p ?o . 8 | BIND(<> AS ?t) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-inside-01.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | [ ?Q <<:s ?P :o>> ] :b :c . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-inside-02.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | ( <> <> ) :q 123 . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-nested-01.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | <> :r :z . 5 | << <> :r :z >> :q 1 . 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-nested-02.rq: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :a :q <<:s :p ?O >> . 5 | << :a :q <<:s :p ?O >>>> :r :z . 6 | } 7 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-update-1.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT DATA { 4 | << :a :b :c >> :p :o . 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-update-2.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT DATA { 4 | :s :p :o {| :y :z |} 5 | } 6 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-update-3.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT { 4 | << :a :b :c >> ?P :o2 {| ?Y ?Z |} 5 | } WHERE { 6 | << :a :b :c >> ?P :o1 {| ?Y ?Z |} 7 | } 8 | 9 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-update-4.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT { 4 | << :a :b :c >> ?P :o2 {| ?Y <<:s1 :p1 ?Z>> |} 5 | } WHERE { 6 | << :a :b :c >> ?P :o1 {| ?Y <<:s1 :p1 ?Z>> |} 7 | } 8 | 9 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-update-5.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT { 4 | ?S ?P << :a :b ?O >> {| ?Y ?Z |} 5 | } WHERE { 6 | ?S ?P << :a :b ?O >> {| ?Y ?Z |} 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-update-6.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | INSERT { 4 | ?s :r ?o {| :added 'Property :r' |} 5 | } WHERE { 6 | ?s :p/:q ?o . 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-update-7.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | DELETE { 4 | ?s :r ?o {| :added 'Property :r' |} 5 | } WHERE { 6 | ?s :p ?o {| :q1+ 'ABC' |} 7 | } 8 | -------------------------------------------------------------------------------- /tests/sparql/syntax/sparql-star-syntax-update-8.ru: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | DELETE DATA { 4 | :s :p :o1 {| :added 'Test' |} 5 | } 6 | ; 7 | INSERT DATA { 8 | :s :p :o2 {| :added 'Test' |} 9 | } 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/trig/eval/index.html: -------------------------------------------------------------------------------- 1 | manifest.html -------------------------------------------------------------------------------- /tests/trig/eval/manifest.ttl: -------------------------------------------------------------------------------- 1 | ## Distributed under both the "W3C Test Suite License" [1] 2 | ## and the "W3C 3-clause BSD License". 3 | ## [1] https://www.w3.org/Consortium/Legal/2008/04-testsuite-license 4 | ## [2] https://www.w3.org/Consortium/Legal/2008/03-bsd-license 5 | 6 | PREFIX rdf: 7 | PREFIX rdfs: 8 | PREFIX mf: 9 | PREFIX test: 10 | PREFIX rdft: 11 | PREFIX trs: 12 | PREFIX dct: 13 | PREFIX xsd: 14 | PREFIX foaf: 15 | PREFIX skos: 16 | 17 | trs:manifest rdf:type mf:Manifest ; 18 | rdfs:label "TriG-star Evaluation Tests"@en ; 19 | skos:prefLabel "La suite des tests pour évaluation de TriG-star"@fr; 20 | skos:prefLabel "Conjunto de pruebas para evaluar Trig-star"@es; 21 | dct:issued "2021-06-21"^^xsd:date ; 22 | rdfs:seeAlso ; 23 | dct:modified "2021-07-18"^^xsd:date ; 24 | dct:licence ; 25 | dct:creator [ foaf:homepage ; foaf:name " RDF-star Interest Group within the W3C RDF-DEV Community Group" ] ; 26 | mf:entries 27 | ( 28 | trs:trig-star-1 29 | trs:trig-star-2 30 | trs:trig-star-bnode-1 31 | trs:trig-star-bnode-2 32 | trs:trig-star-annotation-1 33 | trs:trig-star-annotation-2 34 | trs:trig-star-annotation-3 35 | trs:trig-star-annotation-4 36 | trs:trig-star-annotation-5 37 | trs:trig-star-quoted-annotation-1 38 | trs:trig-star-quoted-annotation-2 39 | trs:trig-star-quoted-annotation-3 40 | ) . 41 | 42 | trs:trig-star-1 rdf:type rdft:TestTrigEval ; 43 | mf:name "TriG-star - subject quoted triple" ; 44 | mf:action ; 45 | mf:result ; 46 | . 47 | 48 | trs:trig-star-2 rdf:type rdft:TestTrigEval ; 49 | mf:name "TriG-star - object quoted triple" ; 50 | mf:action ; 51 | mf:result ; 52 | . 53 | 54 | trs:trig-star-bnode-1 rdf:type rdft:TestTrigEval ; 55 | mf:name "TriG-star - blank node label" ; 56 | mf:action ; 57 | mf:result ; 58 | . 59 | 60 | trs:trig-star-bnode-2 rdf:type rdft:TestTrigEval ; 61 | mf:name "TriG-star - blank node labels" ; 62 | mf:action ; 63 | mf:result ; 64 | . 65 | 66 | trs:trig-star-annotation-1 rdf:type rdft:TestTrigEval ; 67 | mf:name "TriG-star - Annotation form" ; 68 | mf:action ; 69 | mf:result ; 70 | . 71 | 72 | trs:trig-star-annotation-2 rdf:type rdft:TestTrigEval ; 73 | mf:name "TriG-star - Annotation example" ; 74 | mf:action ; 75 | mf:result ; 76 | . 77 | 78 | trs:trig-star-annotation-3 rdf:type rdft:TestTrigEval ; 79 | mf:name "TriG-star - Annotation - predicate and object lists" ; 80 | mf:action ; 81 | mf:result ; 82 | . 83 | 84 | trs:trig-star-annotation-4 rdf:type rdft:TestTrigEval ; 85 | mf:name "TriG-star - Annotation - nested" ; 86 | mf:action ; 87 | mf:result ; 88 | . 89 | 90 | trs:trig-star-annotation-5 rdf:type rdft:TestTrigEval ; 91 | mf:name "TriG-star - Annotation object list" ; 92 | mf:action ; 93 | mf:result ; 94 | . 95 | 96 | trs:trig-star-quoted-annotation-1 rdf:type rdft:TestTrigEval ; 97 | mf:name "TriG-star - Annotation with quoting" ; 98 | mf:action ; 99 | mf:result ; 100 | . 101 | 102 | trs:trig-star-quoted-annotation-2 rdf:type rdft:TestTrigEval ; 103 | mf:name "TriG-star - Annotation on triple with quoted subject" ; 104 | mf:action ; 105 | mf:result ; 106 | . 107 | 108 | trs:trig-star-quoted-annotation-3 rdf:type rdft:TestTrigEval ; 109 | mf:name "TriG-star - Annotation on triple with quoted object" ; 110 | mf:action ; 111 | mf:result ; 112 | . 113 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-01.nq: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-01.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {<<:s :p :o>> :q :z .} 4 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-02.nq: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-02.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:a :q <<:s :p :o>> .} 4 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-1.nq: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-1.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:s :p :o {| :r :z |} .} 4 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-2.nq: -------------------------------------------------------------------------------- 1 | . 2 | _:b1 . 3 | _:b1 "2020-01-20"^^ . 4 | << >> _:b1 . 5 | _:b2 . 6 | _:b2 "2020-12-31"^^ . 7 | << >> _:b2 . 8 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-2.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | PREFIX xsd: 3 | 4 | :G { 5 | :s :p :o {| :source [ :graph ; 6 | :date "2020-01-20"^^xsd:date 7 | ] ; 8 | :source [ :graph ; 9 | :date "2020-12-31"^^xsd:date 10 | ] 11 | |} . 12 | } 13 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-3.nq: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | . 4 | << >> . 5 | . 6 | << >> . 7 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-3.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o {| :a :b |}; 5 | :p2 :o2 {| :a2 :b2 |}, 6 | :o3 {| :a3 :b3 |}. 7 | } 8 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-4.nq: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | << << >> >> . 4 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-4.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:s :p :o {| :a :b {| :a2 :b2 |} |}.} 4 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-5.nq: -------------------------------------------------------------------------------- 1 | . 2 | . 3 | << >> . 4 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-annotation-5.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:s :p :o1, :o2 {| :a :b |} .} 4 | 5 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-bnode-1.nq: -------------------------------------------------------------------------------- 1 | _:b9 . 2 | << _:b9 >> . 3 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-bnode-1.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | _:b :p :o . 5 | <<_:b :p :o>> :q :z . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-bnode-2.nq: -------------------------------------------------------------------------------- 1 | _:label1 _:label1 . 2 | << _:label1 _:label1 >> << _:label1 >> . 3 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-bnode-2.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | _:a :p1 _:a . 5 | <<_:a :p1 _:a >> :q <<_:a :p2 :o>> . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-quoted-annotation-1.nq: -------------------------------------------------------------------------------- 1 | . 2 | << >> << >> . 3 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-quoted-annotation-1.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:s :p :o {| :r <<:s1 :p1 :o1>> |} .} 4 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-quoted-annotation-2.nq: -------------------------------------------------------------------------------- 1 | << >> . 2 | <<<< >> >> . 3 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-quoted-annotation-2.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {<<:s1 :p1 :o1>> :p :o {| :r :z |} .} 4 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-quoted-annotation-3.nq: -------------------------------------------------------------------------------- 1 | << >> . 2 | << << >>>> . 3 | -------------------------------------------------------------------------------- /tests/trig/eval/trig-star-eval-quoted-annotation-3.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:s :p <<:s2 :p2 :o2>> {| :r :z |} .} 4 | -------------------------------------------------------------------------------- /tests/trig/syntax/index.html: -------------------------------------------------------------------------------- 1 | manifest.html -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-annotation-1.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:s :p :o {| :r :z |} } 4 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-annotation-2.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | PREFIX xsd: 3 | 4 | :G { 5 | :s :p :o {| :source [ :graph ; 6 | :date "2020-01-20"^^xsd:date 7 | ] ; 8 | :source [ :graph ; 9 | :date "2020-12-31"^^xsd:date 10 | ] 11 | |} . 12 | } 13 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-01.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o . 5 | :x <<:s :p :o>> 123 . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-02.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o . 5 | <<:s :p :o>> . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-03.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p ("abc") . 5 | <<:s :p ("abc") >> :q 123 . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-04.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o . 5 | <<3 :p :o >> :q :z . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-05.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | <<:s [] :o>> :q 123 . 5 | } 6 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-06.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | <<:s :p [ :p1 :o1 ] >> :q 123 . 5 | } 6 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-07.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | 4 | :G {:s :p << :p :r >> .} 5 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-08.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:s :p << :g :s :p :o >> .} 4 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-ann-1.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:s :p :o {| |} .} 4 | 5 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bad-ann-2.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {:a :b :c {| :s :p :o |} .} 4 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-basic-01.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o . 5 | <<:s :p :o>> :q 123 . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-basic-02.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o . 5 | :x :p <<:s :p :o>> . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bnode-01.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | _:a :p :o . 5 | <<_:a :p :o >> :q 456 . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bnode-02.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p _:a . 5 | <<:s :p _:a >> :q 456 . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-bnode-03.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G {<<[] :p [] >> :q :z .} 4 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-compound.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :x :r :z . 5 | :a :b :c . 6 | <<:a :b :c>> :r :z . 7 | <<:x :r :z >> :p <<:a :b :c>> . 8 | 9 | << <<:x :r :z >> :p <<:a :b :c>> >> 10 | :q 11 | << <<:x :r :z >> :p <<:a :b :c>> >> . 12 | } 13 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-inside-01.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o . 5 | [ :q <<:s :p :o>> ] :b :c . 6 | } 7 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-inside-02.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o1 . 5 | :s :p :o2 . 6 | ( <<:s :p :o1>> <<:s :p :o2>> ) :q 123 . 7 | } 8 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-nested-01.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o . 5 | 6 | <<:s :p :o >> :r :z . 7 | 8 | << <<:s :p :o >> :r :z >> :q 1 . 9 | } 10 | -------------------------------------------------------------------------------- /tests/trig/syntax/trig-star-syntax-nested-02.trig: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :G { 4 | :s :p :o . 5 | :a :q <<:s :p :o >> . 6 | << :a :q <<:s :p :o >>>> :r :z . 7 | } 8 | -------------------------------------------------------------------------------- /tests/turtle/eval/index.html: -------------------------------------------------------------------------------- 1 | manifest.html -------------------------------------------------------------------------------- /tests/turtle/eval/manifest.ttl: -------------------------------------------------------------------------------- 1 | ## Distributed under both the "W3C Test Suite License" [1] 2 | ## and the "W3C 3-clause BSD License". 3 | ## [1] https://www.w3.org/Consortium/Legal/2008/04-testsuite-license 4 | ## [2] https://www.w3.org/Consortium/Legal/2008/03-bsd-license 5 | 6 | PREFIX rdf: 7 | PREFIX rdfs: 8 | PREFIX mf: 9 | PREFIX test: 10 | PREFIX rdft: 11 | PREFIX trs: 12 | PREFIX dct: 13 | PREFIX xsd: 14 | PREFIX foaf: 15 | PREFIX skos: 16 | 17 | trs:manifest rdf:type mf:Manifest ; 18 | rdfs:label "Turtle-star Evaluation Tests"@en ; 19 | skos:prefLabel "La suite des tests pour Turtle-star"@fr; 20 | skos:prefLabel "Conjunto de pruebas para Turtle-star"@es; 21 | dct:issued "2021-06-21"^^xsd:date ; 22 | rdfs:seeAlso ; 23 | dct:modified "2021-07-18"^^xsd:date ; 24 | dct:licence ; 25 | dct:creator [ foaf:homepage ; foaf:name " RDF-star Interest Group within the W3C RDF-DEV Community Group" ] ; 26 | mf:entries 27 | ( 28 | trs:turtle-star-1 29 | trs:turtle-star-2 30 | trs:turtle-star-bnode-1 31 | trs:turtle-star-bnode-2 32 | trs:turtle-star-annotation-1 33 | trs:turtle-star-annotation-2 34 | trs:turtle-star-annotation-3 35 | trs:turtle-star-annotation-4 36 | trs:turtle-star-annotation-5 37 | trs:turtle-star-quoted-annotation-1 38 | trs:turtle-star-quoted-annotation-2 39 | trs:turtle-star-quoted-annotation-3 40 | ) . 41 | 42 | trs:turtle-star-1 rdf:type rdft:TestTurtleEval ; 43 | mf:name "Turtle-star - subject quoted triple" ; 44 | mf:action ; 45 | mf:result ; 46 | . 47 | 48 | trs:turtle-star-2 rdf:type rdft:TestTurtleEval ; 49 | mf:name "Turtle-star - object quoted triple" ; 50 | mf:action ; 51 | mf:result ; 52 | . 53 | 54 | trs:turtle-star-bnode-1 rdf:type rdft:TestTurtleEval ; 55 | mf:name "Turtle-star - blank node label" ; 56 | mf:action ; 57 | mf:result ; 58 | . 59 | 60 | trs:turtle-star-bnode-2 rdf:type rdft:TestTurtleEval ; 61 | mf:name "Turtle-star - blank node labels" ; 62 | mf:action ; 63 | mf:result ; 64 | . 65 | 66 | trs:turtle-star-annotation-1 rdf:type rdft:TestTurtleEval ; 67 | mf:name "Turtle-star - Annotation form" ; 68 | mf:action ; 69 | mf:result ; 70 | . 71 | 72 | trs:turtle-star-annotation-2 rdf:type rdft:TestTurtleEval ; 73 | mf:name "Turtle-star - Annotation example" ; 74 | mf:action ; 75 | mf:result ; 76 | . 77 | 78 | trs:turtle-star-annotation-3 rdf:type rdft:TestTurtleEval ; 79 | mf:name "Turtle-star - Annotation - predicate and object lists" ; 80 | mf:action ; 81 | mf:result ; 82 | . 83 | 84 | trs:turtle-star-annotation-4 rdf:type rdft:TestTurtleEval ; 85 | mf:name "Turtle-star - Annotation - nested" ; 86 | mf:action ; 87 | mf:result ; 88 | . 89 | 90 | trs:turtle-star-annotation-5 rdf:type rdft:TestTurtleEval ; 91 | mf:name "Turtle-star - Annotation object list" ; 92 | mf:action ; 93 | mf:result ; 94 | . 95 | 96 | trs:turtle-star-quoted-annotation-1 rdf:type rdft:TestTurtleEval ; 97 | mf:name "Turtle-star - Annotation with quoting" ; 98 | mf:action ; 99 | mf:result ; 100 | . 101 | 102 | trs:turtle-star-quoted-annotation-2 rdf:type rdft:TestTurtleEval ; 103 | mf:name "Turtle-star - Annotation on triple with quoted subject" ; 104 | mf:action ; 105 | mf:result ; 106 | . 107 | 108 | trs:turtle-star-quoted-annotation-3 rdf:type rdft:TestTurtleEval ; 109 | mf:name "Turtle-star - Annotation on triple with quoted object" ; 110 | mf:action ; 111 | mf:result ; 112 | . 113 | 114 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-01.nt: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-01.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | <<:s :p :o>> :q :z . 4 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-02.nt: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-02.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :a :q <<:s :p :o>> . 4 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-1.nt: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-1.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o {| :r :z |} . 4 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-2.nt: -------------------------------------------------------------------------------- 1 | . 2 | _:b1 . 3 | _:b1 "2020-01-20"^^ . 4 | << >> _:b1 . 5 | _:b2 . 6 | _:b2 "2020-12-31"^^ . 7 | << >> _:b2 . 8 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-2.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | PREFIX xsd: 3 | 4 | :s :p :o {| :source [ :graph ; 5 | :date "2020-01-20"^^xsd:date 6 | ] ; 7 | :source [ :graph ; 8 | :date "2020-12-31"^^xsd:date 9 | ] 10 | |} . 11 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-3.nt: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | . 4 | << >> . 5 | . 6 | << >> . 7 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-3.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o {| :a :b |}; 4 | :p2 :o2 {| :a2 :b2 |}, 5 | :o3 {| :a3 :b3 |}. 6 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-4.nt: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | << << >> >> . 4 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-4.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o {| :a :b {| :a2 :b2 |} |}. 4 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-5.nt: -------------------------------------------------------------------------------- 1 | . 2 | . 3 | << >> . 4 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-annotation-5.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o1, :o2 {| :a :b |} . 4 | 5 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-bnode-1.nt: -------------------------------------------------------------------------------- 1 | _:b9 . 2 | << _:b9 >> . 3 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-bnode-1.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | _:b :p :o . 4 | <<_:b :p :o>> :q :z . 5 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-bnode-2.nt: -------------------------------------------------------------------------------- 1 | _:label1 _:label1 . 2 | << _:label1 _:label1 >> << _:label1 >> . 3 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-bnode-2.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | _:a :p1 _:a . 4 | <<_:a :p1 _:a >> :q <<_:a :p2 :o>> . 5 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-quoted-annotation-1.nt: -------------------------------------------------------------------------------- 1 | . 2 | << >> << >> . 3 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-quoted-annotation-1.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o {| :r <<:s1 :p1 :o1>> |} . 4 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-quoted-annotation-2.nt: -------------------------------------------------------------------------------- 1 | << >> . 2 | <<<< >> >> . 3 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-quoted-annotation-2.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | <<:s1 :p1 :o1>> :p :o {| :r :z |} . 4 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-quoted-annotation-3.nt: -------------------------------------------------------------------------------- 1 | << >> . 2 | << << >>>> . 3 | -------------------------------------------------------------------------------- /tests/turtle/eval/turtle-star-eval-quoted-annotation-3.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p <<:s2 :p2 :o2>> {| :r :z |} . 4 | -------------------------------------------------------------------------------- /tests/turtle/syntax/index.html: -------------------------------------------------------------------------------- 1 | manifest.html -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-bad-syntax-1.ttl: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-bad-syntax-2.ttl: -------------------------------------------------------------------------------- 1 | << "XYZ" >> . 2 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-bad-syntax-3.ttl: -------------------------------------------------------------------------------- 1 | << "XYZ" >> . 2 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-bad-syntax-4.ttl: -------------------------------------------------------------------------------- 1 | << _:label >> . 2 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-bnode-1.ttl: -------------------------------------------------------------------------------- 1 | _:b0 . 2 | << _:b0 >> "ABC" . 3 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-bnode-2.ttl: -------------------------------------------------------------------------------- 1 | _:b1 . 2 | << _:b1 >> "456"^^ . 3 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-nested-1.ttl: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | << << >> >> "1"^^ . 4 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-nested-2.ttl: -------------------------------------------------------------------------------- 1 | . 2 | << >> . 3 | << << >> >> . 4 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-syntax-1.ttl: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-syntax-2.ttl: -------------------------------------------------------------------------------- 1 | << >> . 2 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-syntax-3.ttl: -------------------------------------------------------------------------------- 1 | << >> << >> . 2 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-syntax-4.ttl: -------------------------------------------------------------------------------- 1 | <<>><<>>. 2 | -------------------------------------------------------------------------------- /tests/turtle/syntax/nt-ttl-star-syntax-5.ttl: -------------------------------------------------------------------------------- 1 | <<<<>><<>>>><<<<>><<>>>>. -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-annotation-1.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o {| :r :z |} . 4 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-annotation-2.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | PREFIX xsd: 3 | 4 | :s :p :o {| :source [ :graph ; 5 | :date "2020-01-20"^^xsd:date 6 | ] ; 7 | :source [ :graph ; 8 | :date "2020-12-31"^^xsd:date 9 | ] 10 | |} . 11 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-01.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o . 4 | :x <<:s :p :o>> 123 . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-02.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o . 4 | <<:s :p :o>> . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-03.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p ("abc") . 4 | <<:s :p ("abc") >> :q 123 . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-04.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o . 4 | <<3 :p :o >> :q :z . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-05.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | <<:s [] :o>> :q 123 . 4 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-06.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | 4 | <<:s :p [ :p1 :o1 ] >> :q 123 . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-07.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p << :p :r >> . 4 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-08.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p << :g :s :p :o >> . 4 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-ann-1.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | SELECT * { 4 | :s :p :o {| |} . 5 | } 6 | 7 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bad-ann-2.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :a :b :c {| :s :p :o |} . 4 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-basic-01.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o . 4 | <<:s :p :o>> :q 123 . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-basic-02.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o . 4 | :x :p <<:s :p :o>> . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bnode-01.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | _:a :p :o . 4 | <<_:a :p :o >> :q 456 . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bnode-02.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p _:a . 4 | <<:s :p _:a >> :q 456 . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-bnode-03.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | <<[] :p [] >> :q :z . 4 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-compound.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | 4 | :x :r :z . 5 | :a :b :c . 6 | <<:a :b :c>> :r :z . 7 | <<:x :r :z >> :p <<:a :b :c>> . 8 | 9 | << <<:x :r :z >> :p <<:a :b :c>> >> 10 | :q 11 | << <<:x :r :z >> :p <<:a :b :c>> >> . 12 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-inside-01.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o . 4 | [ :q <<:s :p :o>> ] :b :c . 5 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-inside-02.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o1 . 4 | :s :p :o2 . 5 | ( <<:s :p :o1>> <<:s :p :o2>> ) :q 123 . 6 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-nested-01.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o . 4 | 5 | <<:s :p :o >> :r :z . 6 | 7 | << <<:s :p :o >> :r :z >> :q 1 . 8 | -------------------------------------------------------------------------------- /tests/turtle/syntax/turtle-star-syntax-nested-02.ttl: -------------------------------------------------------------------------------- 1 | PREFIX : 2 | 3 | :s :p :o . 4 | :a :q <<:s :p :o >> . 5 | << :a :q <<:s :p :o >>>> :r :z . 6 | -------------------------------------------------------------------------------- /unstar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | RDF-star semantic mapping vocabulary 4 | 5 | 9 | 10 | 11 | 12 |

The RDF-star semantic mapping is described by 13 | cg-spec/editors_draft.html#rdf-star-semantics. 14 | You should be redirected soon. 15 |

16 | -------------------------------------------------------------------------------- /w3c.json: -------------------------------------------------------------------------------- 1 | { 2 | "group": [110458] 3 | , "contacts": ["pchampin", "hartig"] 4 | , "repo-type": "cg-report" 5 | } 6 | --------------------------------------------------------------------------------