ReGraph | Tool for building graph-based hierarchical knowledge representation systems
kandi X-RAY | ReGraph Summary
kandi X-RAY | ReGraph Summary
The ReGraph Python library is a generic framework for modelling graph-based systems. In this context models are viewed as graphs and graph transformations --- as a tool to describe both the system evolution and the model evolution read more about the approach. ReGraph provides various utilities for graph rewriting which can be used for modelling the evolution of a system represented by a graph subject to rewriting. The rewriting functionality is based on the sesqui-pushout rewriting procedure [7]. In addition, the library enables a user to define a typing for models (graphs) that gives specifications for the structure of the models. This later functionality allows both to preserve the specified structure during rewriting and to propagate the changes to the specifications up to the models. ReGraph contains a collection of utilities for rewriting graphs and hierarchies of graphs. It supports two backends: NetworkX graph objects and on Neo4j property graphs stored in a graph database.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Convert a rule to cypher
- Generate a unique variable name
- Create an edge statement
- Add several attributes to a variable
- Generate a list of canonical commands
- Apply a function f to a list
- Simplify a list of commands
- Refine a rule hierarchy
- Compare two dicts
- Propagate a clone of a node
- Plot an instance
- Create a hierarchy from the given json data
- Create a new NXGraph from a pattern
- Pulls a homozygous complement of two nodes
- Creates a hierarchy from a JSON representation
- Plot a graph
- Propagate relationship between origin_id
- R Ensures that all paths in source and target
- Apply a rule hierarchy to the given instances
- Create a networkx out of b
- Refine the rule hierarchy
- Plot a rule
- Propagate relationship between a graph
- Compute rule hierarchy
- Applies a relationship between two graphs
- Compute the rule hierarchy
ReGraph Key Features
ReGraph Examples and Code Snippets
Community Discussions
Trending Discussions on ReGraph
QUESTION
I am working on a python script that is using the regraph library based on networkx. I created a hierarchy that contains different graphs that are typed to eachother. In one of the graphs, I want edges to have attributes, for example a name. When I do this, I get a message saying that the homomorphism is broken, because the graph it is typed to does not have the exact same edge attributes.
I know this might not be what regraph is designed for, but is there a way to specify an edge attribute in a graph in the hierarchy OR a rule that does not only take patterns but also node names into account?
I have already tried adding empty attributes to the other graphs in the hierarchy, this does not work.
...ANSWER
Answered 2019-Jan-15 at 14:45For people who are interested, here is how I managed to solve the problem:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install ReGraph
If you want to use the Neo4j-based backend of ReGraph, you need to install the Neo4j database (see installation instructions). Moreover, ReGraph uses the APOC Neo4j plugin, currently not included in the community edition. To install the plugin see the instructions. ReGraph uses Neo4j Bolt Driver for Python, therefore, having set up your database, you need to provide to ReGraph's API the address of the bolt server (for example, bolt://127.0.0.1:7687) and your credentials for connecting the database (i.e. user and password).
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page