React JSON-LD Editor
The Editor is a component providing a UI for editing a JSON-LD node object. It relies on immutable-jsonld.
Simplest possible use:
const Editor = require('react-jsonld-editor') const render = props => ( <Editor /> )The simplest possible use is not very useful; it will display an empty JSON-LD node, and there will be no way to modify it.
To make it more useful specify some props:
- The
nodeprop is a JSON-LD node object to begin editing; it should be an instance ofJSONLDNode(fromimmutable-jsonld. - The
classesandpropertiesprops specify the vocabularies to use. Each of these should be an ImmutableMapwith URIs (as strings) for keys andJSONLDNodes for values. TheJSONLDNodes should haverdfs:labels orskos:prefLabels. TheJSONLDNodes in thepropertiesMapmay also haverdfs:ranges. See edit-with-lov for an example of how one might create theseMaps from a stream of triples. - Similarly, the
individualsprop specifies individual resources that can serve as the objects of properties. It should also be an ImmutableMapwith URIs (as strings) for keys andJSONLDNodes for values. TheJSONLDNodes should haverdfs:labels orskos:prefLabels. - Finally, you can be notified of changes to the JSON-LD node by providing a callback function as the
onSaveprop.
Try the demo of editing a record from the Pleiades gazetteer, or check out its source. (Note that this demo is rather slow to load because it is loading quite a bit of JSON data into memory on load.)
For an example of using the editor with dynamically loaded vocabuaries from Linked Open Vocabularies, see edit-with-lov (demo, source).