hyperobject
A simple object model for working with Linked Data.
This JSON-LD:
{ "@context": { "prop": "http://dbpedia.org/property/", "ontology": "http://dbpedia.org/ontology/" }, "@id": "http://dbpedia.org/resource/Spike_Siegal", "@type": "ontology:ComicsCharacter", "prop:name": "Spike Spiegal", "prop:series": "Cowboy Bebop"}
Becomes this hyperobject:
id: Getter/Setter type: Getter/Setter name: Getter/Setter series: Getter/Setter
Hyperobjects can be nested:
var post = "@context": "book": "http://schema.org/Book" ; var user = "@id": "http://dbpedia.org/resource/Niel_Stephensen"; post; postauthorid === userid; // => truepost === user; // => true
Hyperobjects can be used in functional style:
var user = ; user; user;
Hyperobjects can be serialized back to JSON-LD:
JSON;
Installation
Install using npm:
npm install hyperobject
Install using bower:
bower install hyperobject
Using browser script tag and global (UMD wrapper):
// Available via window.hyperobject
API Reference
class: HyperObject ⏏
Members
new HyperObject(node)
Create a new HyperObject
from given JSON-LD node
.
Params
- node
Object
- triples encoded as JSON-LD node
hyperobject.get(path)
Get object value at given path
.
Params
- path
String
hyperobject.set(path, value)
Set object value
at given path
. If path
is undefined it will be
set using HyperObject#define
.
Params
- path
String
- value
Mixed
- HyperObject, node object, value object, or literal.
hyperobject.define(term, [value])
Define Getter/Setter for JSON-LD node term
and optional value
.
Params
- term
String
- [value]
Mixed
Returns: String
- returns term or term suffix
hyperobject.toJSON()
Return JSON-LD serialization.
Returns: Object
- JSON-LD
Contributing
Please submit all issues and pull requests to the alexmingoia/hyperobject repository!
Tests
Run tests using npm test
or gulp test
.
Code coverage
Generate code coverage using gulp coverage
and open coverage.html
in your
web browser.
Support
If you have any problem or suggestion please open an issue here.