Skip to main content

Knowledge graph transformation

Project description

kNowlEdge grAph Transformer (NEAT)

release Documentation Status Github PyPI Downloads Docker Pulls GitHub Code style: black Ruff mypy

NEAT is a domain expert centric and developer friendly solution for rapid:

  • data modeling
  • extraction, transformation and loading of instances
  • and ingestion of the models and instances (i.e. knowledge graphs) into Cognite Data Fusion

NEAT is using open and globally recognized standards maintained by the World Wide Web Consortium (W3C). NEAT represents an essential tool for creation of standardized, machine-actionable, linked and semantic (meta)data.

NEAT is a funny acronym derived from kNowlEdge grAph Transformer produced using ACRONIMIFY.

History

NEAT emerged from years of experience in semantic tooling and knowledge graph development. The foundation was laid in 2020 with sheet2rdf, an Excel-based tool that trained data stewards to build domain-specific knowledge graphs and supported CI/CD processes in the Dutch Covid program and european wind energy community.

By mid of 2022, sheet2rdf was used in several POCs in Cognite. As Cognite's Data Modeling Service (DMS) development progressed, the need for simplified data modeling experience led to demonstration of proto-NEAT, known as sheet2fdm, an extension of sheet2rdf, enabling semantic data model definitions in OWL, SHACL, Python and GraphQL (see e.g., wind energy data model) using a simplified version of sheet2rdf Excel template.

Presented in various forums in 2022, this approach paved the way for NEAT’s formal development in November 2022 to enable cost-saving and empowerment of Cognite customers to self-sufficiently maintain and onboard knowledge graphs to Cognite Data Fusion.

Authorship

Authors

The plot below shows the NEAT authorship from the start until present day.

NEAT authorship

Current authors

Former authors

Contributors

We are very grateful for the contributions made by:

Sponsors

NEAT is developed and maintained by Cognite. We are grateful for the past support of our sponsors, who funded us to develop NEAT and to make it open source.

  • Statnett - the MIMIR team (Ola Hagen Øyan, Olav Westeng Alstad,Andreas Kimsås and Anders Willersrud) – who supported the development of NEAT from end of 2022 to mid of 2023 and its integration with Statnett's infrastructure, where NEAT was battle-tested as a tool for non-sematic experts to define data models and transform large knowledge graphs representing the entire Norwegian power grid system. Without Statnett's support NEAT would not exist in the first place, and would not be open-source.
  • Aker Solutions – the IMod Team (currently lead by Maria Kenderkova), who funded development of NEAT from mid of 2023 till end of 2024 (multi-level and role-based data modeling, support for ontologies, IMF, DEXPI, AML,...) , as well who were early adopters and embraced NEAT and who were patient with us when things did not work so well. Aker Solutions was instrumental to elevating NEAT to a product level, and who selflessly advocate for NEAT globally.

Installation

pip install cognite-neat

Usage

The user interface for NEAT is a notebook-based environment. Once you have set up your notebook environment, you start by creating a CogniteClient and instantiate a NeatSession object.

from thisisneat import NeatSession, get_cognite_client

client = get_cognite_client(".env")

neat = NeatSession(client)

neat.read.cdf.data_model(("my_space", "MyDataModel", "v1"))

Documentation

For more information, see the documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thisisneat-0.2.5.tar.gz (84.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thisisneat-0.2.5-py3-none-any.whl (655.0 kB view details)

Uploaded Python 3

File details

Details for the file thisisneat-0.2.5.tar.gz.

File metadata

  • Download URL: thisisneat-0.2.5.tar.gz
  • Upload date:
  • Size: 84.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for thisisneat-0.2.5.tar.gz
Algorithm Hash digest
SHA256 0a603bc8c68b24d3ec887cb8320e597300b7dd4bbb851ef5baff128b1091edc6
MD5 46cb60ecbccdba2c4479e06a636b6c47
BLAKE2b-256 237ebaf35568df3001422efd0dfeb0bf2474e43c7a422552dd88ebd67bdc50df

See more details on using hashes here.

File details

Details for the file thisisneat-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: thisisneat-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 655.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for thisisneat-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4754f39694b4754083aa6e203a4b9e5a8e57e5043d3c460d422b774671b5c161
MD5 f08b2bb9a3ff9cc42f1041b7c9eed7cf
BLAKE2b-256 01ae3ca31878d67732c8bd7b036c81fe755384ef91ddbecb3108c3e3c46ac342

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page