-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reorganise the SPARQL tests area. #84
Comments
In general, I agree with the proposed changes. I think we can go forward with these changes and remain backwards-compatible by adding a softlink from
Do we need them, if we have the archives, and the new |
Hi @rubensworks -- thanks for the comments. Yes, there some disruption for existing projects in order to help newcomers. Running a top level manifest should mean that is limited as would linking It was while changing syntax-esc-05 in place that it occurred to me I was proposing changing the copy of the SPARQL 1.0 test suite and it would not be obvious as to the status. It looks like a local clone. This balance is always hard but over time "legacy-first" builds a debt.
We could have one area of all the tests, or a more logical split (query, update, protocol) . The query syntax tests would probably My goals are:
I'll put in a PR so there is a concrete thing to discuss. |
@afs said:
So, this is a version control system, and previous states of the tests can always be described on a persistent branch. Particularly for systems still using RDF 1.0 semantics, I'm not sure how much we should pander to their needs, as it becomes an ongoing maintenance burden.
Does this imply an eventual tests-sparql-3 directory for SPARQL 1.2? As all tests are currently under
If we have both README.md and index.html in the same directory, the index.html should probably be somewhat derived from the README.md.
IMO, RDF-star should probably use this repo, and we need to decide how to support future, current, and previous versions of tests. Maintaining archive directories probably still require maintenance, and we can point to a branch for previous versions of the test suites, while maintaining compatibility with difference specification versions using test properties. @rubensworks said:
There's an ongoing cost to this. if projects are continuing to run off of the repo, or pull from it, some amount of change should be tolerated. The manifest structures are intended to allow testing without built-in dependence on the directory structure.
If we use an archive on the branch with symlinks, I think it should be clear that these are for transitional use, and point people to named branches to get earlier versions of the test suites. @afs said:
!!!
This sounds like a good plan. Note that #79 is long outstanding, and attempts to decouple the protocol tests from the use of a single externally maintained tool, and should also be considered in any reorganization. |
I definitely agree with the intended re-organization, but we have to be thoughtful of systems depending on the current layout for their testing architecture, and that these systems will break if we make sudden non-backwards-compatible changes.
That is indeed true for systems that use the tests via git. However, since this repo is also exposed via GitHub Pages, there are also systems consuming these tests over HTTP, and only the latest version (since GitHub Pages doesn't enable versioning). For instance, I am aware of at least 36 projects that depend on these tests over HTTP, and can have their CI suddenly fail if breaking changes are made to the layout of this repo. So my suggestion is: go forward with the repo reorganization, but temporarily (3 or 6 months?) keep the old structure (e.g. via softlinks), and communicate this deprecation to consumers to give them the time to transition.
Based on the above, another goal we could add is the following:
|
"consuming the test suites over HTTP". Effort went into making sure the tests work over HTTP or from local files controlled by the base URL. What github pages means is that we don't have full control over the webserver for file shuffling. We do have our own HTTP-enabled "symbolic links" - the manifest files are a point of indirection. We don't have to rely on git symbolic link handling and any OS interaction. The proposal is to do some directory renaming to be a bit clearer these are not the original WG tests and untangle them from a fixed name of "sparql-11" going forward. |
I hate Further, I am coming to (strongly!) believe that there should be a set of subdirectories that combine to form a matrix of RDF and SPARQL versions, such that there are tests for RDF 1.0 with SPARQL 1.2, and separate tests for RDF 1.2 with SPARQL 1.0 (because, yes, such combinations will be found in the wild [1], no matter how strongly we advise against whichever combinations are problematic, and such tests will at least hopefully decrease the numbers of implementers and deployers who choose a challenging combination without any idea of what they're in for). [1] SPARQL-FED introduces further wrinkles, as a SPARQL 1.1 or 1.2 processor may call on a remote SPARQL |
Here is a plan for a rdf-test repo change in the light of discussions here. The current situation is that SPARQL tests are rooted at "sparql11" which isn't going remain a suitable name, /sparql11/data-r2/ and /sparql11/data-sparql11/ are not great names, "r2" in particular. /rdf-tests/sparql11/data-sparql11/ has been the focus on improvement (e.g. URI resolution, casting tests, escapes) by community agreement. /rdf-tests/sparql11/data-r2/ has had some manifest fixups. The suggestion is have a new area, Objectives:
FYI There have been 6 contributors over the lifetime of the /rdf-test/sparql11/ and also 6 to RDF syntax tests. Without contributors, we don't have a useful community asset. NewRoot the tests at /rdf-tests/sparql/ This allows for the possibility in the future of
New/rdf-tests/sparql/sparql-10/ The names reflect the origin. (Merging into one active set is out of scope for the change described here - if anyone is interested in driving that, let's have a separate issue.) /rdf-tests/sparql/README Keep the old layoutTransition for /rdf-tests/sparql11/data-* to a new location.
This could be the less-updated currently tagged at Do not move without warning. TransitionThe transition is to leave Document links back to the WG original copies that are the authoritative test suites for each WG in /rdf-tests/sparql/README. After some reasonable time (at least a few months), rename AlsoIf there are to be maintained additional variants added, then there needs to be people willing to take on that work. |
Thanks for including the backwards-compatbility in Once this is merged, it would be good to announce this on the proper mailinglists, since we may not reach all relevant people through this issue. Happy to take this up myself if desired. The only issue I still have with this format is the confusion of major/minor version ( |
Re: naming: it is a hot topic with views on both sides. There is a lot of comments on the other side as well. It could be It is the RDF-Star WG naming style and the style on other W3C specs (inside and outside semweb sphere). If there is a matrix, it might make sense there. But that's a different issue. |
Naming of W3C short-names pretty much settles this, and that's what RDF-star chose. Anything other than |
The "rename" is actually a copy-delete (#103 is the delete) because /rdf-tests/sparql11/ was split into SPARQL 1.0 /rdf-tests/sparql/sparql10/ and SPARQL 1.1 /rdf-tests/sparql/sparql11/ areas. |
This came out of PR #83.
For the SPARQL rdf-tests, I think we should aim to make most visible a conservative "latest agreed" test suite.
We can keep reference copies of the originals, but the easy-to-find tests are current.
A reorganisation is friction but now seems like a good time to prepare because in preparation for the WG RDF-star which is also chartered for errata.
Suggestion: have a reference area for working groups for SPARQL 1.0 (DAWG) and 1.1 test suites and make
rdf-tests/sparql11
a "current" area.archive/data-r2
andarchive/data-sparql11/
.archive/README.md
tests-sparql-1/
,tests-sparql-2/
which are SPARQL 1.0 updated and SPARQL 1.1 updated. (keeping them as two directories because we already have that split)README.md
that says "usetests-sparql-1/
andtests-sparql-2/
"CHANGES.md
lists briefly - not justification - the changes made.sparql11/index.html
toarchive/wg-tests-sparql11-index.html
rdf-tests/index.html
for the moved index file.The current
sparql11/README.md
linking toindex.html
isn't nice!I also hope this reorg is not a huge amount of work. We can make more changes later after the basic are done.
More disruptive:
rdf-tests/sparql11
asrdf-tests/sparql
in preparation for the WG RDF-star which is also chartered for errata.The text was updated successfully, but these errors were encountered: