chore(tests): run the W3C Notation3 spec suites in CI - #640
Draft
jeswr wants to merge 4 commits into
Draft
Conversation
jeswr
commented
Jul 3, 2026
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jeswr
force-pushed
the
chore/n3-spec-tests
branch
from
August 23, 2026 22:42
3c8e1ba to
7769cc8
Compare
This was referenced Aug 24, 2026
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Runs the W3C Notation3 parser and extended suites (
manifest-parser.ttlandmanifest-extended.ttl) against N3.js asspec-n3-parserandspec-n3-extendedjobs in the CI spec matrix. No project-maintained skip list is applied: this PR remains draft and the jobs deliberately expose unsupported cases. Closes #331.The suites moved to the Notation3 CG, so their canonical manifests are under
https://w3c-cg.github.io/N3/tests/N3Tests/(the oldw3c.github.io/N3/tests/…URLs now return 404).manifest-extended.ttlcontains parser syntax tests rather than reasoning or evaluation tests.Why a local checkout +
-minstead of-c: rdf-test-suite constructs all test cases concurrently, producing roughly 1,000 simultaneous GitHub Pages fetches and reliableUND_ERR_CONNECT_TIMEOUTfailures. PR #612 makes warm.rdf-test-suite-cacheruns reliable but cannot safely populate a cold N3 cache.spec-n3-fetchtherefore creates a sparse, blob-filtered checkout ofw3c-cg/N3and the suites use rdf-test-suite mapping from URLs to files, preserving their canonical test IRIs without the request burst.The fixture checkout is pinned to the N3 revision in
spec/cache-key.txt. The weekly refresh workflow checksw3c-cg/N3alongside the RDF 1.1/1.2 suites and proposes revision changes for review, so test updates do not arrive silently.Current results at the pinned revision: parser 173/222 pass (16 suite-rejected tests skipped); extended 974/978 pass (107 suite-rejected tests skipped). Two parser-manifest
TestN3Evalentries are not constructed because the released rdf-test-suite package cannot load their expected-result files.Validated dependency stack: parser 223/223 pass (16 skipped); extended 978/978 pass (107 skipped). The regular N3.js suite also passes: 20/20 suites and 6,861/6,861 tests with 100% coverage, plus lint.
Merge dependencies
N3.js parser support:
has,is ... of, and<-inverse predicatesUpstream test infrastructure and fixtures:
spec/cache-key.txtto its merged revisionThe undeclared-empty-prefix compatibility question is tracked upstream as w3c-cg/N3#235. The current-major opt-in and next-major default are tracked in #693 and #699 respectively.
cc @jeswr