To better capture the purpose of owmeta, the project was renamed from
"PyOpenWorm" to "owmeta" and then owmeta was split into owmeta and owmeta-core
(this library). Also, the yarom library, which provided some PyOpenWorm
features, was also merged back into owmeta-core
Features and enhancements:
- Dropped module import recording
- Removed requirement to declare classes manually in `__yarom_mapped_classes__`
- Added support for RDF Bag, Alt, Seq, List collection types
- Created distinct base namespaces for DataObject sub-class instances and
properties
- Added support for dependencies on bundles in projects
- Added sub-commands for retracting statements from a project:
- Removing Context imports
- Removing DataTranslator
- Removing DataSource
- Removing classes
- Removing RegistryEntry
- Removing all statements in a context
- Added a sub-command for listing RegistryEntry objects
- Started defining dataobject.Property classes from Informational during
DataSource class definition
- Added a sub-command for listing derived DataSources from a given DataSource
- Completed basic bundle features (install, fetch, deploy, save to file, RDFLib
query)
- Added an alternative way to do queries that batches queries of a common type
for faster execution
Internal/Misc. changes:
- Removed identifier-based equality for DataObject instances
- Dropped Python 2.7 support
- Added 3.8 support
- Switched to the new Github issue template format
- Started triggering downstream builds in Travis-CI
- Dropped several unused dependencies
- Replaced numpydoc for faster parsing of OWM docstrings
- Fixed preservation of leading whitespace in `owm diff` output lines
Known Issues:
- Not all operations `owm` sub-commands are fully supported with a SQL DB
source (due to incomplete support for Dataset/graph-aware semantics)