Nexusforge

Latest version: v0.8.2

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 3

0.5.0

This release adds incremental features to both Nexus Forge core and specializations modules.
See [Release notes](https://nexus-forge.readthedocs.io/en/latest/releases/v0.5.0-release-notes.html).

0.4.0

This release adds incremental features to both Nexus Forge core and specializations modules. This release also implemented many fixes to various issues raised by users.

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

Querying
--------

* Add cross-bucket search feature [71](https://github.com/BlueBrain/nexus-forge/pull/71) [#74](https://github.com/BlueBrain/nexus-forge/pull/74) (issue:[#63](https://github.com/BlueBrain/nexus-forge/pull/63))(usage: 04 - Querying notebook on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.4.0/examples/notebooks/getting-started/04%20-%20Querying.ipynb) or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.4.0?filepath=examples%2Fnotebooks%2Fgetting-started))

If cross_bucket is set to True, resources could be retrieved by identifier from multiple buckets. In such case, a specific bucket can be target using the `bucket` argument.

Usage:

python
resource = forge.search(<resource_id>, cross_bucket=True, bucket=<str>)


The configured store should support cross bucket search.

* Add support for targeting specific search endpoint when searching data. Currently only only SPARQL endpoints are supported [71](https://github.com/BlueBrain/nexus-forge/pull/71) (issue: [#63](https://github.com/BlueBrain/nexus-forge/pull/63))(usage: 04 - Querying notebook on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.4.0/examples/notebooks/getting-started/04%20-%20Querying.ipynb>) or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.4.0?filepath=examples%2Fnotebooks%2Fgetting-started))

A `searchendpoints` configuration can be added to the `Store` configuration.

python
"Store": {
"name": <str>,
"endpoint": <str>,
"bucket": <str>,
"token": <str>,
"searchendpoints": {
"<querytype>": { <a query paradigm supported by the store (e.g. sparql)>
"endpoint": <str> <an IRI of a query endpoint>
}
},
"versioned_id_template": <str>,
"file_resource_mapping": <str>
}


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

Forge
-----

* Add creating a forge session from a configuration URL [91](https://github.com/BlueBrain/nexus-forge/pull/91) (issue:[#65](https://github.com/BlueBrain/nexus-forge/pull/65))

python
forge = KnowledgeGraphForge(configuration="https://...config.json") # or config.yml


Querying
--------

* Add query param support when retrieving a resource [79](https://github.com/BlueBrain/nexus-forge/pull/79)

python
resource = forge.retrieve(id=https://..?rev=1&p=aparam)


Specifically, when the version argument is provided like in:

python
resource = forge.retrieve(id=https://..?rev=1&p=aparam, version=2)


then it supersedes the `rev` query param while the other query params (e.g `p=aparam`) are kept as they are.


Dataset
-------

* Dataset provenance assertion methods are now all aligned to accept either a `Resource` object of identifier. [88](https://github.com/BlueBrain/nexus-forge/pull/88) (usage: 02 - Dataset notebook on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.4.0/examples/notebooks/getting-started/02%20-%20Dataset.ipynb) or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.4.0?filepath=examples%2Fnotebooks%2Fgetting-started))

python
Dataset(forge: KnowledgeGraphForge, type: str = "Dataset", **properties)
add_contribution(resource: Union[str, Resource], versioned: bool = True, **kwargs) -> None
add_generation(resource: Union[str, Resource], versioned: bool = True, **kwargs) -> None
add_derivation(resource: Union[str, Resource], versioned: bool = True, **kwargs) -> None
add_invalidation(resource: Union[str, Resource], versioned: bool = True, **kwargs) -> None


When a `Resourcce` is provided, `forge.freeze` will add the resource's version to its reference within the dataset enabling immutable identifier. `forge.freeze` is not supported when a resource identifier (str) is provided.

Bug Fixes
=========

Forge
-----

* Fix `has no attribute '_rev'` error when calling `forge.freeze` on a `Dataset` object. [81](https://github.com/BlueBrain/nexus-forge/pull/81) [#88](https://github.com/BlueBrain/nexus-forge/pull/88) (issue:[#80](https://github.com/BlueBrain/nexus-forge/pull/80))
* Fix `RuntimeError` occuring when calling `nest_asyncio.apply()` outside a Jupyter notebook session [62](https://github.com/BlueBrain/nexus-forge/pull/62) (issue:[#60](https://github.com/BlueBrain/nexus-forge/pull/60))
* Fix failing `forge.download` when the provided path (e.g. distribution.contentUrl) is no longer present in all distributions json objects [85](https://github.com/BlueBrain/nexus-forge/pull/85) (issue:[#84](https://github.com/BlueBrain/nexus-forge/pull/84))(usage: 02 - Dataset notebook on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.4.0/examples/notebooks/getting-started/02%20-%20Dataset.ipynb) or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.4.0?filepath=examples%2Fnotebooks%2Fgetting-started))
This is to cope with [schema.org/distribution](https://schema.org/distribution) specification which supports `distribution.contentUrl` or `distribution.url` when recording the location of a dataset.

Resolving
---------

* Fix `OntologyResolver` to resolve ontology terms when notation and prefLabel properties are missing [76](https://github.com/BlueBrain/nexus-forge/pull/76) (issue: [#69](https://github.com/BlueBrain/nexus-forge/pull/69))(usage: 09 - Resolving notebook on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.4.0/examples/notebooks/getting-started/09%20-%20Resolving.ipynb) or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.4.0?filepath=examples%2Fnotebooks%2Fgetting-started))

Querying
--------

* Fix `BlueBrainNexus` store file retrieval support [75](https://github.com/BlueBrain/nexus-forge/pull/75) (issue:[#64](https://github.com/BlueBrain/nexus-forge/pull/64))

Converting
----------

* Fix turning a list of `Resource` elements to `RDFlib Graph` using `forge.as_graph` while avoiding graph merge resulting from using graph set operation (such as +) [87](https://github.com/BlueBrain/nexus-forge/pull/87)

0.3.3

This release adds incremental features to both Nexus Forge core and specializations modules.

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


Querying
--------

* Add cross-bucket retrieval feature [50](https://github.com/BlueBrain/nexus-forge/pull/50)

If cross_bucket is set to True, resources could potentially be retrieved by identifier from multiple buckets.

It is the responsibility of the configured store to:

* make sure all necessary buckets are reachable from the forge configured store bucket and can be searched for a resource.
* handle looking up a resource by its identifier accross many buckets.

Usage:

python
resource = forge.retrieve(<resource_id>, cross_bucket=True)


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

Tutorial
--------

* Remove duplicated tutorial notebooks [34](https://github.com/BlueBrain/nexus-forge/pull/34) (Usage: Jupyter notebooks on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.3.3/examples/notebooks/getting-started) or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.3.3?filepath=examples%2Fnotebooks%2Fgetting-started)


Storing
-------

* Implement bulk upload and bulk download [47](https://github.com/BlueBrain/nexus-forge/pull/47) (Usage: Datasets notebook on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.3.3/examples/notebooks/getting-started/02%20-%20Datasets.ipynb) or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.3.3?filepath=examples%2Fnotebooks%2Fgetting-started))

* Prevent Store.download() to overwrite existing files [45](https://github.com/BlueBrain/nexus-forge/pull/45) (Usage: Datasets notebook on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.3.3/examples/notebooks/getting-started/02%20-%20Datasets.ipynb) or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.3.3?filepath=examples%2Fnotebooks%2Fgetting-started))

Dataset
-------

* Represent files added to a dataset resource as parts (using http://schema.org/hasPart) [#41](https://github.com/BlueBrain/nexus-forge/pull/41) (Usage: Datasets notebook on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.3.3/examples/notebooks/getting-started/02%20-%20Datasets.ipynb)or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.3.3?filepath=examples%2Fnotebooks%2Fgetting-started))


Bug Fixes
=========

RdfModel
--------

* Fix Shape.traverse() error [44](https://github.com/BlueBrain/nexus-forge/pull/44) (issue:[#43](https://github.com/BlueBrain/nexus-forge/pull/43))(usage: Modeling notebook on [Github](https://github.com/BlueBrain/nexus-forge/blob/v0.3.3/examples/notebooks/getting-started/11%20-%20Modeling.ipynb) or on [Binder](https://mybinder.org/v2/gh/BlueBrain/nexus-forge/v0.3.3?filepath=examples%2Fnotebooks%2Fgetting-started))

Page 3 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.