- Build a map for searching for a matching IRI when
computing the inverse context. Each letter of an
IRI can be used to key into the map to find the
best set of partial matches (which can be used
to create CURIEs).
- This approach is a faster alternative to trying each
possible term in the active context as a possible
CURIE, linearly, one at a time.
- Handle rdfn:Urgna2012EvalTest and rdfn:Urdna2015EvalTest.
- Use nquads input format for normalization tests.
- Support normalization test suite format with various tweaks.
Compacting the data would eliminate most of these changes but can't
rely on compact to work in the code that tests compact! So hard coded
fixes are used.
- Support 'entries' and 'sequence' for tests.
- Support 'include' as filename without a .jsonld extension.
- Support 'type' and '@type' as aliases.
- Support 'id' and '@id' as aliases.
- Support 'action' and 'input' as aliases.
- Support 'result' and 'expect' as aliases.
- No longer strip '#t' prefix from '#tNNN' ids.
- Default to positive test if nothing specified.
- Add normalization test to travis-ci config.
- Fix container infrastructure flag from 'root' to 'sudo'.
- Update README with new testing info.
- There's an inconsistency between the syntax spec and the API
spec; the API spec throws an error if null is used for a
`@language` value on Step 7.4.7 of the Expansion Algorithm,
but the syntax spec allows it. When used, it indicates the
value has no language -- which is the same as if `@language`
were omitted, so it's treated the same way in this patch.
- Section 5.3 Component Recomposition in RFC 3986 makes a
differentiation between undefined components and empty
components that the built-in parse_url in python does not. This
patch deals with that issue and ensures, for instance, that
empty queries and fragments are detected.