Skip to main content

A plugin to nodestream for building a graph of the schema of the graph.

Project description

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

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

nodestream_plugin_meta-0.13.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

nodestream_plugin_meta-0.13.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for nodestream_plugin_meta-0.13.0.tar.gz
Algorithm Hash digest
SHA256 c31f17857e2cfebcfe6353d73ebcd3562110787b6be79459ce9dc9a740daf375
MD5 f1185f1f2ac5474b10e0cd187270efd4
BLAKE2b-256 34619e37d1d3277102aa0d9c48c9c4989582b7f25e50095672de58103d5e5cb1

See more details on using hashes here.

Provenance

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

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

Attestations:

File details

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

File metadata

File hashes

Hashes for nodestream_plugin_meta-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 85a53efd2dd26d69278712b36a2013644f5b7dcfcc81ab95dada454bd3cb4edf
MD5 e46f315a6d648d1157614adaa0940dc8
BLAKE2b-256 ddc5ab66917a05ee6f023643ce2ab287ef98ca80ace1034493ca44ed97be1561

See more details on using hashes here.

Provenance

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

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

Attestations:

Supported by

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