This release introduces contexts, which provide a generic means of grouping statements, relating dependent groups of statements, and making further statements about groups of statements such as provenance. The addition of contexts introduces new syntax as well as some distinct ways of interacting with RDF graphs from Python. [The documentation](https://pow-doc.readthedocs.io/en/latest/adding_data.html) is the best place to learn about the new syntax.
This release also includes a high-level interface to some functions of PyOpenWorm and a command line interface on top of that. Currently, this interface provides a means to download graphs from and share graphs to Git repositories.
In detail...
New Features
- Contexts: A grouping mechanism for statements. Allows to make statements
about statements and, in particular, to make statements referring to
supporting documentation for a group of statements.
- DataSource and DataTranslator: Framework for describing translation from raw
data to PyOpenWorm objects
- POW CLI: A new command line tool. Currently only `clone` and `init` work
fully as intended. `commit` works *mostly* as intended.
- Support for resolving system environment variables in configuration files
- Python 3.6 support
Improvements
- Allowing to manually pull information from remote resources in Document
(formerly Evidence) initialization: allows for more uniform handling of
`DataObject` `__init__`s
- Properties can be defined in class body: Previously it was necessary to
define properties in the `__init__` method. Now they can be defined in the
class body, where they are accessible with docstrings. This also means no
boilerplate `owner=self`
Infrastructure / Development
- Fewer manual steps for API doc generation
- Restoring coveralls.io code coverage reporting
- Removing Code Climate integration: After looking at what Code Climate flags,
thinking about how contributions come into PyOpenWorm, and expected features,
it does not seem like the right kind of analysis
- Changing to pow-doc.readthedocs.io for documentation (at least temporarily)