https://github.com/comunica/rdf-test-suite-ldf.js

✅ Execute engine-test suites on QUERY-engines

https://github.com/comunica/rdf-test-suite-ldf.js

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary

Keywords from Contributors

query-engine rdf sparql triple-pattern-fragments decentralization federation heterogeneity documents web-client comunica
Last synced: 10 months ago · JSON representation

Repository

✅ Execute engine-test suites on QUERY-engines

Basic Info
  • Host: GitHub
  • Owner: comunica
  • License: mit
  • Language: TypeScript
  • Default Branch: master
  • Homepage:
  • Size: 742 KB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 2
  • Open Issues: 13
  • Releases: 0
Created almost 7 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License

README.md

rdf-test-suite-ldf.js

Build status Coverage Status npm version

This is a nodejs CLI-tool which executes integration-tests on query-engines such as the comunica-engines and is based on the rdf-test-suite.js written by Ruben Taelman.

It uses test-manifests (you can find examples on the manifest-ldf-tests repository) which are based on the ontology-query-testing to test the integration of your engine.

Installation

Either install it globally:

bash $ yarn global add rdf-test-suite-ldf

or locally (as a dev dependency):

bash $ yarn add --dev rdf-test-suite-ldf

Usage

When the rdf-test-suite-ldf script is installed you're good to go. You will need some kind of javascript-engine which follows the ILdfQueryEngine interface as first argument and an engine-test manifest URI as second argument.

Basic execution

The following command executes the sparql-manifest test suite on the engine: myengine.js:

bash $ rdf-test-suite-ldf myengine.js https://comunica.github.io/manifest-ldf-tests/sparql/sparql-manifest.ttl

This command will output something like this:

bash ✔ SELECT - DBpedia TPF (https://comunica.github.io/manifest-ldf-tests/sparql/sparql-manifest.ttl#directors01) ✔ SELECT - DBpedia TPF (https://comunica.github.io/manifest-ldf-tests/sparql/sparql-manifest.ttl#software02) ✔ SELECT - DBPedia TPF & SPARQL (https://comunica.github.io/manifest-ldf-tests/sparql/sparql-manifest.ttl#simple03) ✔ 3 / 3 tests succeeded!

Start port for mocking

With the -r flag you can decide on which port mock-servers will spawn, e.g. 5000. If an invalid port is given an error will be thrown. If the port is in use rdf-test-suite-ldf will wailt for a specific amount of time if the port becomes available. If it doesn't it will throw an error.

bash $ rdf-test-suite-ldf myengine.js https://comunica.github.io/manifest-ldf-tests/sparql/sparql-manifest.ttl -r 6000

Extra details on HTTP caching

The -c flag inherited from rdf-test-suite.js does also work in rdf-test-suite-ldf, especially for HDT- and RDFJS-testing. All the files for HDT- and RDFJS-testing should and will be (temporarily) stored in the given local cache folder. These files are deleted by default but when the -c flag is given, all those files will be stored in the directory given with this flag. These files can be used the next time to avoid re-fetching files from servers.

bash $ rdf-test-suite-ldf myengine.js https://comunica.github.io/manifest-ldf-tests/sparql/sparql-manifest.ttl -c path/to/dir

Delay server termination

With the -v flag you can define the time to wait before stopping the server after each completed test. This is useful in case your engine could perform additional HTTP to the server, even after the query has been done.

bash $ rdf-test-suite-ldf myengine.js https://comunica.github.io/manifest-ldf-tests/sparql/sparql-manifest.ttl -v 100

Defaults to 10.

Extra options

A list of extra options, inherited from rdf-test-suite.js can be found here.

Some default test suites

I created and published some test-suites for the 4 engines of comunica which can be found here.

License

This software is written by Manu De Buck and based on software written by Ruben Taelman. This code is released under the MIT license.

Owner

  • Name: Comunica
  • Login: comunica
  • Kind: organization
  • Location: Ghent, Belgium

Flexible SPARQL and GraphQL over decentralized RDF on the Web.

GitHub Events

Total
  • Delete event: 2
  • Issue comment event: 9
  • Push event: 29
  • Pull request review event: 1
  • Pull request event: 8
  • Fork event: 1
  • Create event: 5
Last Year
  • Delete event: 2
  • Issue comment event: 9
  • Push event: 29
  • Pull request review event: 1
  • Pull request event: 8
  • Fork event: 1
  • Create event: 5

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 108
  • Total Committers: 7
  • Avg Commits per committer: 15.429
  • Development Distribution Score (DDS): 0.556
Past Year
  • Commits: 5
  • Committers: 2
  • Avg Commits per committer: 2.5
  • Development Distribution Score (DDS): 0.2
Top Committers
Name Email Commits
Ruben Taelman r****n@u****e 48
Manu De Buck m****k@t****e 41
renovate[bot] 2****] 11
greenkeeper[bot] 2****] 3
Renovate Bot b****t@r****m 3
surilindur 1****r 1
Joachim Van Herwegen j****h@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 32
  • Total pull requests: 39
  • Average time to close issues: 5 days
  • Average time to close pull requests: 3 months
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 0.53
  • Average comments per pull request: 0.41
  • Merged pull requests: 19
  • Bot issues: 4
  • Bot pull requests: 36
Past Year
  • Issues: 0
  • Pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 minutes
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.38
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 7
Top Authors
Issue Authors
  • ManuDeBuck (25)
  • greenkeeper[bot] (2)
  • rubensworks (2)
  • renovate[bot] (2)
  • surilindur (1)
Pull Request Authors
  • renovate[bot] (31)
  • greenkeeper[bot] (5)
  • surilindur (1)
  • jitsedesmet (1)
  • joachimvh (1)
Top Labels
Issue Labels
enhancement (15) feature (11) bug (8) greenkeeper (2) documentation (1)
Pull Request Labels
greenkeeper (5) bug (1)

Packages

  • Total packages: 1
  • Total downloads:
    • npm 1,442 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 4
  • Total versions: 13
  • Total maintainers: 2
npmjs.org: rdf-test-suite-ldf

An engine testing suite

  • Versions: 13
  • Dependent Packages: 1
  • Dependent Repositories: 4
  • Downloads: 1,442 Last month
Rankings
Downloads: 5.3%
Dependent repos count: 5.6%
Average: 12.4%
Stargazers count: 14.5%
Forks count: 15.4%
Dependent packages count: 21.0%
Maintainers (2)
Last synced: 11 months ago

Dependencies

package.json npm
  • @types/jest ^26.0.0 development
  • @types/minimist ^1.2.0 development
  • @types/n3 ^1.1.4 development
  • jest ^27.0.1 development
  • jest-rdf ^1.3.0 development
  • manual-git-changelog ^1.0.1 development
  • nock ^13.0.0 development
  • pre-commit ^1.2.2 development
  • precommit ^1.2.2 development
  • ts-jest ^27.0.1 development
  • tslint ^6.0.0 development
  • tslint-eslint-rules ^5.4.0 development
  • typescript ^4.6.2 development
  • @types/fs-extra ^8.0.0
  • @types/node-fetch ^2.5.0
  • fs-extra ^9.0.0
  • global ^4.4.0
  • minimist ^1.2.0
  • n3 ^1.6.3
  • rdf-parse ^2.0.0
  • rdf-store-stream ^1.1.0
  • rdf-test-suite ^1.18.0
  • tcp-port-used ^1.0.1
  • url-exists ^1.0.3
  • winston ^3.2.1
yarn.lock npm
  • 670 dependencies
.github/workflows/ci.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • coverallsapp/github-action master composite