====================
vO.6.0 Release Notes
====================

This release adds new features and enhancements to Nexus Forge as well as bug fixes.

New Features
============

* Added `Entity Linking <https://nexus-forge.readthedocs.io/en/latest/interaction.html#resolving>`__ as a specialization of resolving. `#125 <https://github.com/BlueBrain/nexus-forge/pull/125>`__ (usage: 09 - Resolving notebook on `Github <https://github.com/BlueBrain/nexus-forge/blob/v0.6.0/examples/notebooks/getting-started/09%20-%20Resolving.ipynb>`__ or on |Binder_Getting_Started|)
* Added support for elasticsearch query in `Store` and `BlueBrainNexus` store. `#125 <https://github.com/BlueBrain/nexus-forge/pull/125>`__
* Added `Entity linking  <https://nexus-forge.readthedocs.io/en/latest/interaction.html#resolving>`__ based on scikit-learn. `#135 <https://github.com/BlueBrain/nexus-forge/pull/135>`__ (usage: 09 - Resolving notebook on `Github <https://github.com/BlueBrain/nexus-forge/blob/v0.6.0/examples/notebooks/getting-started/09%20-%20Resolving.ipynb>`__ or on |Binder_Getting_Started|)

Enhancements
============

* Added `atLocation` property to the `BlueBrainNexus` store's file-to-resource-mapping file as part of the data distribution
  schema. This property can be used to retrieve the location of a file in a storage as shown in the example below. `#121 <https://github.com/BlueBrain/nexus-forge/pull/121>`__

.. code-block:: python

   from kgforge.core import KnowledgeGraphForge
   forge = KnowledgeGraphForge("config_filepath_or_url")
    # Retrieve a dataset by id at a given version
    dataset = forge.retrieve(id="my_data_id", version="version")
    print(dataset.atLocation.store.id) # this will print the used storage id
    print(dataset.atLocation.location) # location can be a path, a url or a bucket name depending on the storage type

* Added transforming single resource as pandas dataframe `forge.as_dataframe() -> pandas.DataFrame`. `#137 <https://github.com/BlueBrain/nexus-forge/pull/137>`__ (usage: 07 - DataFrame IO notebook on `Github <https://github.com/BlueBrain/nexus-forge/blob/v0.6.0/examples/notebooks/getting-started/07%20-%20DataFrame%20IO.ipynb>`__ or on |Binder_Getting_Started|)
* Added support for DemoResolver to resolve using user configured properties. `#129 <https://github.com/BlueBrain/nexus-forge/pull/129>`__ (usage: 09 - Resolving notebook on `Github <https://github.com/BlueBrain/nexus-forge/blob/v0.6.0/examples/notebooks/getting-started/09%20-%20Resolving.ipynb>`__ or on |Binder_Getting_Started|)
* Removed required token when creating a `KnowledgeGraphForge` session targeting a non protected bucket. `#129 <https://github.com/BlueBrain/nexus-forge/pull/129>`__
* Added a dataset creation example notebook. `#134 <https://github.com/BlueBrain/nexus-forge/pull/134>`__ (usage: BBP KG Create Datasets notebook on `Github <https://github.com/BlueBrain/nexus-forge/blob/v0.6.0/examples/notebooks/use-cases/BBP%20KG%20Create%20Datasets.ipynb>`__ or on |Binder_Use_Case|)

Bug Fixes
=========

* Added self referenced JSON-LD context support for `BlueBrainNexus` store. `#122 <https://github.com/BlueBrain/nexus-forge/pull/122>`__
  This avoid fetching nexus resource context from `Github <https://bluebrain.github.io/nexus/contexts/resource.json>`__
  but fetching it from a `BlueBrainNexus` configured bucket avoiding thus errors when BlueBrainNexus store is used
  in an environment without internet access.
* Boxed defined @id value in <> when rewriting `forge.search` filters as SPARQL queries. `#124 <https://github.com/BlueBrain/nexus-forge/pull/124>`__ (usage: 04 - Querying notebook on `Github <https://github.com/BlueBrain/nexus-forge/blob/v0.6.0/examples/notebooks/getting-started/04%20-%20Querying.ipynb>`__

.. |Binder_Getting_Started| image:: https://mybinder.org/badge_logo.svg
    :alt: Binder
    :target: https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.6.0?filepath=examples%2Fnotebooks%2Fgetting-started

.. |Binder_Use_Case| image:: https://mybinder.org/badge_logo.svg
    :alt: Binder
    :target: https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.6.0?filepath=examples%2Fnotebooks%2Fuse-cases
