You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() |
7 months ago | |
---|---|---|
.. | ||
src | 7 months ago | |
test | 7 months ago | |
.eslintrc | 8 months ago | |
.gitignore | 8 months ago | |
LICENSE.txt | 8 months ago | |
README.md | 7 months ago | |
babel.config.js | 8 months ago | |
jest.config.js | 7 months ago | |
package.json | 7 months ago | |
tsconfig.build.json | 8 months ago | |
typedoc.json | 7 months ago |
README.md
@ldo/connected-nextgraph
The @ldo/connected-nextgraph
library allows you to integrate NextGraph with the LDO ecosystem. It provides a ConnectedLdoDataset
that manages RDF data across decentralized NextGraph resources with real-time synchronization and read/write capabilities.
Installation
First, install the required libraries:
npm install nextgraph @ldo/connected-nextgraph
Usage:
1. Setup: Create a ConnectedLdoDataset
import { createNextGraphLdoDataset } from "@ldo/connected-nextgraph";
// Create the dataset
const ldoDataset = createNextGraphLdoDataset();
2. Connect to a NextGraph Wallet Session
Before you can create or access resources, you need an active session:
import ng from "nextgraph";
// Open your nextgraph wallet
const openedWallet = await ng.wallet_open_with_mnemonic_words(
walletBinary,
mnemonic,
[1, 2, 3, 4]
);
// Start a session
const session = await ng.session_in_memory_start(
openedWallet.V0.wallet_id,
openedWallet.V0.personal_site
);
3. Link Your Dataset to the NextGraph Session
ldoDataset.setContext("nextgraph", {
sessionId: session.session_id
});
4. Create a Resource
To create a new resource in your store:
const resource = await ldoDataset.createResource("nextgraph");
if (!resource.isError) {
console.log("Created resource:", resource.uri);
}
5. Read and Monitor a Resource**
Read Existing Resource
const resource = ldoDataset.getResource(existingUri);
const readResult = await resource.read();
if (!readResult.isError) {
console.log("Resource loaded!", readResult.type);
}
Read Only If Unfetched
Avoid redundant fetches:
const readResult = await resource.readIfUnfetched();
Subscribe to Notifications
const unsubscribeId = await resource.subscribeToNotifications();
await resource.unsubscribeFromNotification(unsubscribeId);
await resource.unsubscribeFromAllNotifications();
6. Write Data to a Resource
You can write RDF data to a resource using update()
:
import { parseRdf } from "@ldo/ldo";
const ttlData = `
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<#spiderman> a foaf:Person ; foaf:name "Spiderman" .
`;
const triples = await parseRdf(ttlData);
await resource.update({
added: triples,
removed: undefined
});
Sponsorship
This project was made possible by a grant from NGI Zero Entrust via nlnet. Learn more on the NLnet project page.
Liscense
MIT