GraphArch is an open-source tool developed by the Enterprise Knowledge Graph Forum (EKGF), a Managed Community of the Object Management Group (OMG). The tool aims to generate comprehensive documentation for knowledge graphs, shape graphs, labelled property graphs, semantic graphs, or ontologies, with outputs available as both websites (markdown) and PDFs (typst). This project is part of an effort to streamline graph documentation and governance, enhancing clarity and accessibility for various stakeholders.
GraphArch serves two primary use cases:
-
Ontology and Schema Documentation
GraphArch can document ontologies, whether OWL-based or non-semantic tech, such as LPG graph schemas from platforms like Neo4j or TigerGraph. This includes individual ontologies as well as ontology families, where multiple related ontologies might be documented collectively, such as the Financial Industry Business Ontology (FIBO).
-
Graph Database Endpoint or EKG Documentation
GraphArch can connect to graph database endpoints (SPARQL, Cypher, GSQL, etc.) and generate documentation through discovery. It analyzes the data structures, provides profiling, and creates reports based on the detected entities. This could include a breakdown of the classes, distribution of instances, identification of PII, and a summary of data models used, generating outputs like dashboards or reports.
- Ontology Precision: GraphArch emphasizes governance and precision in documenting ontologies, schemas, and their relationships. It aims to deliver librarian-level accuracy of definitions, domain ownership, and control for enterprise data management.
- Business-Oriented Profiling: GraphArch offers capabilities for graph database endpoint analysis that can be particularly useful for business users to understand and describe their data in their own terms.
- Flexible Output Formats: Documentation can be generated as user-friendly websites or professionally formatted PDF reports.
- Onboard Graph Engine: The tool includes OxiGraph, a graph database that can be used to generate data for further documentation, integrating both input options seamlessly.
For all features see docs/feature/README.md.
This repository will serve as the foundation for GraphArch's ongoing development. Contributions are welcome to help grow this initiative!
- Get started as contributor on MacOS
- TODO: Linux, Windows
GraphArch can be used in two primary modes:
-
Ontology Documentation Mode: To generate documentation for ontologies or schemas, use the following command:
cargo run grapharch --mode ontology --input <file|url>
-
Graph Endpoint Discovery Mode: To connect to a graph database endpoint and generate reports:
cargo run grapharch --mode graph --url <endpoint>
We welcome contributions from the community! Please refer to our Contributing Guidelines for details on how to get involved.
GraphArch is released under the MIT License.
For more information about GraphArch or the Enterprise Knowledge Graph Forum, please contact us at [email protected].
Join us in building a comprehensive tool for documenting and exploring the world of enterprise graphs!