This is the first complete version of the Solr2Triplestore project. While there are still a lot of ideas and other minor things that can use some attention i think the overall procedure and functionality is finally where i wanted it to be.
In this release the README and especially the tutorial how to use the SpchtDescriptor was massively overhauled. There is also now a definite JSONSchema for the correct formatting for any SpchtDescriptors.
In the same change some renaming were done, the field 'graph' is now correctly called 'predicate', overall the name graph
was replaced by more appropriate and correct words. Things now should be called subject, predicate, object or URI when i used 'graph' before. The joined_graph
function now is also called joined_map
.
The way mapping is configured was updated, it is now more clear as $default and $inherit don't share a key anymore. There is a new Regex validation on load and it is possible to use regex keys in maps, with the minor caveat that all keys then have to be regex and that there might performance impacts.
Internally the way the processing takes places was written anew, all functions should now work in concert with all others (except insert_into
in joined_map
which makes logically no sense). The order in which procedures are now applied are is:
- if condition
- pre processing (match)
- post processing (cut, replace, append, prepend)
- mappings
- insert_into strings
There is also no difference between marc and dict data sources anymore, both use the exact same procedures and all effects should work exactly the same. Only caveat is still the function insert_into
that does not allow mixing of sources for now.
Other parts were not touched, WorkOrder still works exactly as before.
The former external project SpchtCheckerGui was integrated into the project code, it uses a simple i18n implementation now. Also there is a new dependency for PySide2 because of this. If the GUI is not needed PySide2 is not necessary.