Skip to content

Prerelease Version 0.0.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@CiaranWelsh CiaranWelsh released this 13 Jun 14:50

Another pre release. Some improvements on the C++ backend, along with support for more of the features provided by the redland API. All changes are reflected at the C and Python level as well.

Features added

  • PhysicalProperty class has been updated and now makes more intuitive sense. The tests, C API and Python API's have been updated to reflect the new structure.

  • Support for reading rdf directly from a url or from a file

  • Improved handling of creating a "new" RDF object from the C (and therefore Python) api. Now, we no longer have to give the fromString function an empty RDF object becuase it will make one for you and return. This makes room for including an addFromString method, which adds rdf from a string to the current RDF graph. Therefor we can now build more comprehensive RDF graphs. Similar API is available in reading from URI and from File.

  • Changed the LibrdfStatement class so that it uses a raw pointer, rather than a shared pointer. Contrary to what I first thought, this is better as I have more control over what happens to it. Specifically

  • no longer need to "commit to rdf" from the editor, which was the previous design. Instead, as soon as users add an annotation using the Editor, the derived Triples get added directly to the rdf model. This change was facilitated by changing the way Editor handles triples. Before, it compiled a nested vector of Triples objects from each annotation that was added. This is no longer necessary.

  • support for equality operators on all creational objects (Triples, etc.)

  • Change to the build system to make add additional libraries "--whole-archive" to try and pull all of the dependency libraries into the libsemsim.so. This is untested.

  • Added automatic "version handling". From now on, the version will only be changed in CMake and it will be propagated automatically to Python's setup.py.

Known omitions

  • No support for windows compilers
  • Contineous integration not yet up and running.
  • Python package 0.0.3 uploaded onto test pypi, but not yet verified to be working on other systems (previous version had a problem with iconv)
  • Full support for removing annotations or editing existing annotations not yet complete. Currently only works with a SingularAnnotation.