Skip to content
This repository was archived by the owner on Oct 1, 2023. It is now read-only.

Repository files navigation

⚠️This repository is archived: It's contents have been moved to a new monorepo.

JSON 2 Graph Object

JSON-LD makes working with RDF easier, but it forces data into a tree structure. JSON 2 Graph Object makes a true graph from Object literals.

Purpose

JSON-LD is great for making RDF easy for JavaScript developers, but it's not perfect.

{
"@context": {
"friend": { "@type": "@id" }
},
"@id": "http://example.com/friend1",
"friend": {
"@id": "http://example.com/friend2",
"friend": "http://example.com/friend1"
}
}

The above example is not a true graph, as the friend field in friend2 is simply the id of the friend, not the friend itself.

Intallation

npm i jsonld2graphobject

Usage

Provide any compliant JSON-LD document as well as the id for the return node.

import{jsonld2graphobject}from"jsonld2graphobject";asyncfunctionrun(){constfriend1=awaitjsonld2graphobject({"@context": {"friend": {"@type": "@id"}},"@id": "http://example.com/friend1","friend": {"@id": "http://example.com/friend2","friend": "http://example.com/friend1"}},"http://example.com/friend1",{excludeContext: false}// excludeContext defaults to false);// Prints friend 1console.log(friend1.friend.friend.friend.friend.friend.friend.friend.friend.friend.friend);}run();

Known Limitations

  • This library doesn't consider named graphs

About

Converts JSON-LD into object literals

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages