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.
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.
-
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.
- 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.