From 00795ba1512e12c75a6ac2d8243baab3fe7472a4 Mon Sep 17 00:00:00 2001 From: relation <91399393+relationlabs@users.noreply.github.com> Date: Tue, 12 Apr 2022 20:18:03 +0800 Subject: [PATCH 1/3] Create cbp-ic-graph.md --- CBPs/cbp-ic-graph.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 CBPs/cbp-ic-graph.md diff --git a/CBPs/cbp-ic-graph.md b/CBPs/cbp-ic-graph.md new file mode 100644 index 0000000..de2f2b5 --- /dev/null +++ b/CBPs/cbp-ic-graph.md @@ -0,0 +1,44 @@ + +## Abstract + +Relation Graph is a graph data deployed on IC that supports SPARQL for data storage and query. + +## Motivation + +It reduces the data processing threshold of Dapp, improves the development efficiency of Dapp, and allows developers to focus on the realization of business logic. + +## Specification + +**Which users need to use the Relation Graph?** + +For Dapp development in Dfinity, developers with data processing needs can use Relation Graph. + +**How to use Relation Graph?** + +1. Use the provided Relation Graph wasm package and did file( [link](https://github.com/relationlabs/download/raw/main/ic_graph/ic_graphl.zip)),deploy it to mainnet; +2. Authorize accessible users; +3. Dapp accesses Relation Graph canister for data processing; + + +**What are the specific benefits of using the Relation Graph?** + +1. Easy to deploy; +2. Support SPARQL query specification, easy to use; +3. Support conditional query, associated query, sorting, distinct; +4. Custom Schema, convenient for developers to store multiple business module data in a Relation Graph; +5. Support data import and export, convenient for developers to do data maintenance; + +**Follow-up plan** + +1. Open source, support extension development based on Relation Graph; +2. Dapp scaffolding; +3. Development IDE; +4. Distributed graph database; + +## Rationale + +Relation Graph is designed to provide data storage and query functions without touching the interests of developers. Developers can deploy it in their own Canister for use. + + +## Copyright +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From a0547ae56945a41979c63715fbc0ebf53d32327f Mon Sep 17 00:00:00 2001 From: relation <91399393+relationlabs@users.noreply.github.com> Date: Tue, 12 Apr 2022 20:39:19 +0800 Subject: [PATCH 2/3] Update cbp-ic-graph.md --- CBPs/cbp-ic-graph.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/CBPs/cbp-ic-graph.md b/CBPs/cbp-ic-graph.md index de2f2b5..605fa40 100644 --- a/CBPs/cbp-ic-graph.md +++ b/CBPs/cbp-ic-graph.md @@ -1,7 +1,7 @@ ## Abstract -Relation Graph is a graph data deployed on IC that supports SPARQL for data storage and query. +IC Graph is a graph data deployed on IC that supports SPARQL for data storage and query. ## Motivation @@ -9,35 +9,35 @@ It reduces the data processing threshold of Dapp, improves the development effic ## Specification -**Which users need to use the Relation Graph?** +**Which users need to use the IC Graph?** -For Dapp development in Dfinity, developers with data processing needs can use Relation Graph. +For Dapp development in Dfinity, developers with data processing needs can use IC Graph. -**How to use Relation Graph?** +**How to use IC Graph?** -1. Use the provided Relation Graph wasm package and did file( [link](https://github.com/relationlabs/download/raw/main/ic_graph/ic_graphl.zip)),deploy it to mainnet; +1. Use the provided IC Graph wasm package and did file( [link](https://github.com/relationlabs/download/raw/main/ic_graph/ic_graphl.zip)),deploy it to mainnet; 2. Authorize accessible users; -3. Dapp accesses Relation Graph canister for data processing; +3. Dapp accesses IC Graph canister for data processing; -**What are the specific benefits of using the Relation Graph?** +**What are the specific benefits of using the IC Graph?** 1. Easy to deploy; 2. Support SPARQL query specification, easy to use; 3. Support conditional query, associated query, sorting, distinct; -4. Custom Schema, convenient for developers to store multiple business module data in a Relation Graph; +4. Custom Schema, convenient for developers to store multiple business module data in a IC Graph; 5. Support data import and export, convenient for developers to do data maintenance; **Follow-up plan** -1. Open source, support extension development based on Relation Graph; +1. Open source, support extension development based on IC Graph; 2. Dapp scaffolding; 3. Development IDE; 4. Distributed graph database; ## Rationale -Relation Graph is designed to provide data storage and query functions without touching the interests of developers. Developers can deploy it in their own Canister for use. +IC Graph is designed to provide data storage and query functions without touching the interests of developers. Developers can deploy it in their own Canister for use. ## Copyright From ae8030a9f5f919d6f7da026b44eaffb590b61f44 Mon Sep 17 00:00:00 2001 From: relation <91399393+relationlabs@users.noreply.github.com> Date: Wed, 13 Apr 2022 18:26:50 +0800 Subject: [PATCH 3/3] Update cbp-ic-graph.md --- CBPs/cbp-ic-graph.md | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/CBPs/cbp-ic-graph.md b/CBPs/cbp-ic-graph.md index 605fa40..ce00e0e 100644 --- a/CBPs/cbp-ic-graph.md +++ b/CBPs/cbp-ic-graph.md @@ -1,43 +1,56 @@ ## Abstract -IC Graph is a graph data deployed on IC that supports SPARQL for data storage and query. +IC graph is a graph database based on rust language and supports sparsql query statements. The IC graph can be deployed as an independent canisteror as a dependency for business layer application development. At present, in addition to basic storage and query, IC graph also supports ACL, OGM and other functions. ## Motivation It reduces the data processing threshold of Dapp, improves the development efficiency of Dapp, and allows developers to focus on the realization of business logic. ## Specification - -**Which users need to use the IC Graph?** -For Dapp development in Dfinity, developers with data processing needs can use IC Graph. +**Which users need to use the Relation Graph?** -**How to use IC Graph?** - -1. Use the provided IC Graph wasm package and did file( [link](https://github.com/relationlabs/download/raw/main/ic_graph/ic_graphl.zip)),deploy it to mainnet; -2. Authorize accessible users; -3. Dapp accesses IC Graph canister for data processing; +For Dapp development in Dfinity, developers with data processing needs can use Relation Graph. +**How to use Relation Graph?** -**What are the specific benefits of using the IC Graph?** +1. Use the provided Relation Graph wasm package and did file( [link](https://github.com/relationlabs/download/raw/main/ic_graph/ic_graphl.zip)),deploy it to mainnet; +2. Authorize accessible users; +3. Dapp accesses Relation Graph canister for data processing,use the following APIs: + ~~~js + export const idlFactory = ({ IDL }) => { + return IDL.Service({ + 'acl_grant' : IDL.Func([IDL.Text, IDL.Text], [IDL.Text], []), + 'acl_revoke' : IDL.Func([IDL.Text], [IDL.Text], []), + 'acl_show' : IDL.Func([IDL.Nat], [IDL.Text], ['query']), + 'import_schemal' : IDL.Func([IDL.Vec(IDL.Nat8)], [IDL.Text], []), + 'sparql_query' : IDL.Func([IDL.Text, IDL.Text], [IDL.Text], ['query']), + 'sparql_update' : IDL.Func([IDL.Text], [IDL.Text], []), + }); + }; + export const init = ({ IDL }) => { return []; }; + ~~~ + + +**What are the specific benefits of using the Relation Graph?** 1. Easy to deploy; 2. Support SPARQL query specification, easy to use; 3. Support conditional query, associated query, sorting, distinct; -4. Custom Schema, convenient for developers to store multiple business module data in a IC Graph; +4. Custom Schema, convenient for developers to store multiple business module data in a Relation Graph; 5. Support data import and export, convenient for developers to do data maintenance; **Follow-up plan** -1. Open source, support extension development based on IC Graph; +1. Open source, support extension development based on Relation Graph; 2. Dapp scaffolding; 3. Development IDE; 4. Distributed graph database; ## Rationale -IC Graph is designed to provide data storage and query functions without touching the interests of developers. Developers can deploy it in their own Canister for use. +Relation Graph is designed to provide data storage and query functions without touching the interests of developers. Developers can deploy it in their own Canister for use. ## Copyright