
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
@terminusdb/terminusdb-client
Advanced tools
This repository is for the JavaScript client library for TerminusDB and TerminusCMS.
TerminusDB is an open-source graph database and document store. It allows you to link JSON documents in a powerful knowledge graph all through a simple document API.
TerminusCMS is a headless content management system for complex enviroments. Try it out for yourself, it's free to get started with generous limits. Clone a demo project to play around. Sign up.
The TerminusDB JavaScript client library can be used either as a Node.js package or as a script that runs in the browser.
:memo: If you don't already have Node.js installed, install it first.
To install the terminusdb-client
package as a dependency in an existing
package, run:
$ npm install --save @terminusdb/terminusdb-client
This command updates your package.json
.
To use the terminusdb-client
script on a webpage sourced from a CDN, add this
to your HTML:
<script src="https://unpkg.com/@terminusdb/terminusdb-client/dist/terminusdb-client.min.js"></script>
Alternatively, you can download the latest terminusdb-client.min.js
, add
it to your sources, and use that in the <script>
instead.
This example creates a simple dataProduct, starting to create a database model the schema and insert a simple document
For the full Documentation
const TerminusClient = require("@terminusdb/terminusdb-client");
// Connect and configure the TerminusClient
const client = new TerminusClient.WOQLClient('SERVER_CLOUD_URL/mycloudTeam',
{user:"myemail@something.com", organization:'mycloudTeam'})
client.setApiKey(MY_ACCESS_TOKEN)
const bankerSchema = [
{
"@type":"Class",
"@id":"BankAccount",
"@key":{
"@type":"Hash",
"@fields":[
"account_id"
]
},
"account_id":"xsd:string",
"owner":"Person",
"balance":"xsd:decimal"
},
{
"@type":"Class",
"@id":"Person",
"@key":{
"@type":"Lexical",
"@fields":[
"name"
]
},
"name":"xsd:string"
}
]
async function createDataProduct(){
try{
await client.createDatabase("banker", {label: "Banker Account",
comment: "Testing", schema: true})
//add the schema documents
await client.addDocument(bankerSchema,{"graph_type":"schema"},null,"add new schema")
const accountObj = {"@type":"BankAccount",
"account_id":"DBZDFGET23456",
"owner":{
"@type":"Person",
"name":"Tom"
},
"balance":1000
}
//add a document instance
await client.addDocument(accountObj)
client.getDocument({"as_list":true,id:'Person/Tom'})
}catch(err){
console.error(err.message)
}
}
connections options.
To initialize TerminusDB client
with custom options use
const TerminusClient = require("@terminusdb/terminusdb-client");
const client = new TerminusClient.WOQLClient("http://127.0.0.1:6363/", {
db: "test_db",
user: "admin",
key: "my_secret_key",
});
The TerminusDB API can be found at the TerminusDB Documentation.
If you encounter any issues, please report it with your os and environment setup, the version that you are using, and a simple reproducible case.
If you encounter other questions, you can ask them on our Discord Server.
:memo: This project uses Husky which automatically runs lint, tests, and other scripts when you try to commit any changes to the repository. This helps us to improve each commit done to the repo and is automatically installed and configured when you do
npm install
It will be nice, if you open an issue first so that we can know what is going on, then, fork this repo and push in your ideas. Do not forget to add a bit of test(s) of what value you adding.
Please check Contributing.md for more information.
The APACHE 2.0 License
Copyright (c) 2019
FAQs
TerminusDB client library
We found that @terminusdb/terminusdb-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.