Skip to main content

Nodestream Meta Plugin

This plugin allows you to build a Graph of your Graph's Schema.

Installation

pip install nodestream-plugin-meta

Meta-Schema

The schema of the graph schema is as follows:

Meta Schema

For extra meta characteristics, the schema of the schema schema is also added to the projects schema like any other pipeline. In other words, the types NodeType, Property, and so on are added to the schema of the graph.

Getting Started

Unlike other schema plugins, this plugin uses the ingestion system to build the metagraph in your graph. That means that you need to build a pipeline to do the ingestion. For the simple case, you can build a single step pipeline that looks like this:

- implementation: nodestream_plugin_meta:SchemaRenderer

This will locate the project file located inside the current working directory (or its parent directories) and render the schema to the graph. You can also specify the path to the project file:

- implementation: nodestream_plugin_meta:SchemaRenderer
  parameters:
    project_path: /path/to/nodestream.yaml

You may also specify an overrides file to enrich the inferred schema:

- implementation: nodestream_plugin_meta:SchemaRenderer
  parameters:
    project_path: /path/to/nodestream.yaml
    overrides_path: /path/to/overrides.yaml

The overrides file should look like this:

nodes:
  - name: Person
    properties:
      is_cool:
        type: BOOLEAN
relations:
  - name: Knows
    properties:
      since:
        type: DATE

The file is merged with the inferred schema, so you can add new nodes, relations, or properties, or override parts of existing ones.

Querying the Meta Graph

The meta graph can be queried like any other graph data. For example, to get all the node types in the graph:

MATCH (n:NodeType) RETURN n.name

Or to get all the properties of a node type:

MATCH (n:NodeType {name: 'Person'})-[:HAS_PROPERTY]->(p:Property) RETURN p.name, p.type, p.is_key

Same goes for relations and their properties:

MATCH (r:RelationshipType {name: 'Knows'})-[:HAS_PROPERTY]->(p:Property) RETURN p.name, p.type, p.is_key

Also you can get the adjacencies the graph schema:

MATCH (a:NodeType)<-[:TO|FROM]-(adj:Adjacency)-[:TO|FROM]->(b:NodeType)
MATCH (adj)-[:THROUGH]->(r:RelationshipType)
RETURN a.name, r.name, b.name

Download files

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

Source Distribution

nodestream_plugin_meta-0.16.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

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

nodestream_plugin_meta-0.16.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file nodestream_plugin_meta-0.16.0.tar.gz.

File metadata

  • Download URL: nodestream_plugin_meta-0.16.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nodestream_plugin_meta-0.16.0.tar.gz
Algorithm Hash digest
SHA256 7583ec9c791f5e1e1f758a3dbb6bbf661a5608202271027cc027f8a008a5e6b2
MD5 5496c47b66d723b7688870ebb9774199
BLAKE2b-256 286c1748ea16de24b5bbd5ed9003bec1655266fa938ddf2e03cdfefbb171552e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nodestream_plugin_meta-0.16.0.tar.gz:

Publisher: release.yaml on nodestream-proj/nodestream-plugin-meta

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nodestream_plugin_meta-0.16.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nodestream_plugin_meta-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21e56bdcdcb2fc14bcf4c0af6b4fe8854df77409acff6111dfcaf42e532ebf2e
MD5 dd62d96b747f2a92aa71fc0c157cd48f
BLAKE2b-256 98470d6eb33fe147155ddb7712cba51e2c3f2f82108c78ae6de85a214b066108

See more details on using hashes here.

Provenance

The following attestation bundles were made for nodestream_plugin_meta-0.16.0-py3-none-any.whl:

Publisher: release.yaml on nodestream-proj/nodestream-plugin-meta

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.16.0 This release

2 files

0.15.0

2 files

0.14.0

2 files

0.13.1

2 files

0.13.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page