rdf-ext / rdf-parser-csvw

CSV on the Web parser
MIT License
16 stars 4 forks source link

Spec-compliance? #26

Closed rubensworks closed 4 years ago

rubensworks commented 4 years ago

I was wondering if this parser is fully spec-compliant? And if not, what parts of the spec are (not) implement (yet).

An implementation report for the CSVW RDF Tests may be a good indication.

ktk commented 4 years ago

No it is not, we implemented what we needed so far and from our side we have no plans to implement the full spec at the moment.

There are a few issues with that spec, @bergos can comment on them as well but the things I remember are:

We also had some critical remarks regarding the spec but they were mostly declared as "not a problem" so we ignored those as well. We can elaborate more if you are curious (maybe a call or something).

But we are definitely interested in contributions in case you have specific requirements.

rubensworks commented 4 years ago

Thanks for the quick reply!

Some parts of the spec break streaming.

I encountered this as well in some other specs. What I typically do in my implementations, is introducing a streaming-mode. When this is enabled, it would make some assumptions that could perhaps not be fully spec-compliant.

The tests are not properly separated. In our opinion a test should test one thing, that's why we started adding tests on our own. In the official test suite multiple things get tested at the same time, which makes it really hard to test for breaking changes.

I haven't looked at the spec test myself, but adding smaller unit tests yourself definitely sounds like a good idea :-)

But we are definitely interested in contributions in case you have specific requirements.

My use case would be adding CSVW support to Comunica to enable querying. The most important thing here would be full spec-compliance. So our requirements may be quite different.

ktk commented 4 years ago

My use case would be adding CSVW support to Comunica to enable querying. The most important thing here would be full spec-compliance. So our requirements may be quite different.

Ok then I would propose that we have a talk with Thomas as well. I'm sure we can find a way that benefits all of us and makes the codebase more powerful.

ktk commented 4 years ago

To summarize our talk a while ago: