hyperobject
v0.1.0
Published
A simple object model for working with Linked Data.
Downloads
11
Maintainers
Readme
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 = new HyperObject({
"@context": {
"book": "http://schema.org/Book"
}
});
var user = new HyperObject({
"@id": "http://dbpedia.org/resource/Niel_Stephensen"
});
post.set('book:author', user);
post.author.id === user.id; // => true
post.get('author.id') === user.get('id'); // => true
Hyperobjects can be used in functional style:
var user = HyperObject(jsonld);
user.set({
firstName: "Spike"
});
user.get('firstName');
Hyperobjects can be serialized back to JSON-LD:
JSON.stringify(user);
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
<script src="dist/hyperobject.js"></script>
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
Returns: HyperObject
###hyperobject.get(path)
Get object value at given path
.
Params
- path
String
Returns: Mixed
###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.
Returns: Mixed
###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.