/non-axiomatic-grapher-hdk

A Holochain Development Kit (HDK) implementing `Narsese` grammar & inference rules - and building a semantic graph on Holochain.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Holochain Development Kit for Non-Axiomatic Semantic Graphing

Submodule of the Non-Axiomatic Reasoner project.

Overview

non-axiomatic-grapher-hdk is a library for Rust-based holochain dApps that makes it easier to develop Holochain Zomes that want to use Narsese Grammar as an interface to write/read from the source chain, and use the Holochain architecture as a semantic Graph DB.

This HDK is part of the mother project in the field of AGI - further specs for which can be found here: Non-Axiomatic Reasoner.

Usage

First, Rust must be installed on your computer.

Being a Rust library, non-axiomatic-grapher-hdk can be added as a dependency to any Rust crate. When you generate Rust based Zomes with holochain-cmd add the HDK to the hApp's Cargo.toml in the field labelled hdk, where hdk-rust should already be present.

Documentation for usage will be available shortly.

Specification for App Development

  • The Narsese Grammar macros can be used simply by calling the macro name with a bang and parentheses, like <macro_name>!().

  • One macro is implemented for each non-terminal from the Narsese Grammar, with the entirety of the EBNF rules translated to macros.

  • Further specs here: Dev Storyboard - grammar.

  • Provides tools to write to/read from the graph memory w/ helpful tools specific to Narsese.

  • Implements grammar-to-graph-components' functionality - includes functions to convert to Holochain-interpretable data, and convert back to raw readable format for low-level interpretation.

  • Further specs here: Dev Storyboard - components.

  • Implements functionality for the Inference Rules defined in Appendix B.

  • Further specs here: Dev Storyboard - inference.

Contribute

  • The Non-Axiomatic Reasoner is an open source project. To contribute, contact me via email -> Suraj Jena.
  • Holochain is also an open source project. To contribute, check out contributing guidelines for our general practices and protocols on participating in the community.

Built on (& for)

Built for Holochain Chat