Skip to content

Conversation

@pchampin
Copy link
Contributor

note that these versions are generated internally to generate the HTML versions. This change simply writes the results in a file.
Some people might find this more convenient to process than the TTL files?

I don't feel strongly about this,
I ended up doing this while getting myself familiarized with the automation process.

note that these versions are generated internally to generate the HTML versions.
This change simply writes the results in a file.
Some people might find this more convenient to process than the TTL files?

I don't feel strongly about this,
I ended up doing this while getting myself familiarized with the automation process.
@pchampin pchampin requested review from Tpt, afs and rubensworks December 10, 2025 11:23
Copy link
Contributor

@Tpt Tpt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice addition for implementations that might want to run some tests without a proper Turtle parser

%w(recognizedDatatypes unrecognizedDatatypes).each do |p|
if entry["mf:#{p}"].is_a?(Hash) && entry["mf:#{p}"]['@list'] == []
entry[p] = []
entry.delete("mf:#{p}")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be nice to run these normalizations inside of the JSON-LD serialization code to provide more normalized files

Comment on lines +77 to +79
"eval/manifest.ttl",
"syntax/manifest.ttl",
"../../rdf11/rdf-trig/manifest.ttl"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These aren't being transformed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aren't they??

@afs
Copy link
Contributor

afs commented Dec 10, 2025

Rather than JSON-LD in the tree (FWIW they used to be produced), I think it is better to produce the jsonld files as the GH-pages are created. Then there is one version of the truth.

@pchampin
Copy link
Contributor Author

Rather than JSON-LD in the tree (FWIW they used to be produced), I think it is better to produce the jsonld files as the GH-pages are created. Then there is one version of the truth.

I sympathize with that, and to mitigate the potential issues, I added a "comment" at the top of each JSON-LD file, explaining that they are generated and should not be edited.

Arguably, the whole generation process could be restricted to the page generation, rather than materialized in the repo. Or do you consider that the HTML pages are different from the JSON-LD files?

@afs
Copy link
Contributor

afs commented Dec 11, 2025

I sympathize with that, and to mitigate the potential issues, I added a "comment" at the top of each JSON-LD file, explaining that they are generated and should not be edited.

I saw that.

Arguably, the whole generation process could be restricted to the page generation, rather than materialized in the repo. Or do you consider that the HTML pages are different from the JSON-LD files?

The design I see as best for the long-term is that the repo is the primary copy of the tests.
It should survive having to move again.

There is a website that is a presentation of that content for certain audiences. It is produced from the repo files with HTML, copies of the all the files and JSON-LD manifests.

@pchampin
Copy link
Contributor Author

There is a website that is a presentation of that content for certain audiences. It is produced from the repo files with HTML, copies of the all the files and JSON-LD manifests.

as a nice-to-have, we should probably also release zips containing all the files, including the generated ones... (again, some people might be interested in processing the JSON-LD manifests rather than the TTL ones, and still do that from a local copy)

Do you think this change (moving from "in repo generation" to "in pages generation") should be included in this PR before merging?

@Tpt
Copy link
Contributor

Tpt commented Dec 11, 2025

as a nice-to-have, we should probably also release zips containing all the files, including the generated ones...

Seems fairly easily alongside GitHub pages publishing. I will give it a try today

@afs
Copy link
Contributor

afs commented Dec 11, 2025

Do you think this change (moving from "in repo generation" to "in pages generation") should be included in this PR before merging?

I won't block but this PR is all about adding the JSON-LD manifests to the repo. I do not support that.

@Tpt
Copy link
Contributor

Tpt commented Dec 11, 2025

MR that stops to push HTML pages but publishes them to GitHub pages: #255

@afs
Copy link
Contributor

afs commented Dec 14, 2025

we should probably also release zips containing all the files,

Github provides download as zip.

https://github.com/w3c/rdf-tests/archive/refs/heads/main.zip

@pchampin
Copy link
Contributor Author

I won't block but this PR is all about adding the JSON-LD manifests to the repo. I do not support that.

That's fair. If #255 is accepted, once merged, I will make a new PR with only the changes on Rakefile, so that the JSON-LD versions of the manifests will only be present on github-pages and the released ZIP.

Github provides download as zip.

Yes, but if we restrict the generation of HTML and JSON-LD manifests to github pages, these ZIPs will only contain the TTL manifests. Some people might prefer that, but some people may want the full set of files, including the generated ones.

@afs
Copy link
Contributor

afs commented Dec 16, 2025

Some people might prefer that

Please substantiate "some". We simply can not accommodate every possibility we can think of. Why can't we assume that users can convert using local or online tools if necessary for them? This repo contains Turtle and N-Triples tests. They are likely to have a TTL parser.

The tradeoff is having one version of the truth.

And it does get out of step. GH actions fail, then the newest tests are in the TTL and not the JSON-LD yet they are the focus at the time.

@afs
Copy link
Contributor

afs commented Dec 16, 2025

By "release zip", do you mean the built state at a point in time with a version number?

@Tpt
Copy link
Contributor

Tpt commented Dec 16, 2025

Please substantiate "some".

I have one use case: when writing the firsts NTriples and Turtle parser in Rust for Oxigraph, I would have liked a JSON version of the manifest to parse it with an existing JSON parser and get the testsuite for NTriples to validate my NTriples parser without having built my Turtle parser yet.

And it does get out of step. GH actions fail, then the newest tests are in the TTL and not the JSON-LD yet they are the focus at the time.

I think the idea of not committing the JSON-LD files but building them on the fly when publishing the website is a good workaround: if the action fails the JSON-LD files are just not generated and the website not published.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants