Skip to content

JSON-LD parser that implements the RDFJS Sink interface using jsonld.js

License

Notifications You must be signed in to change notification settings

rdfjs-base/parser-jsonld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@rdfjs/parser-jsonld

build status npm version

JSON-LD parser that implements the RDF/JS Sink interface using jsonld-streaming-parser.

Usage

Use the following command to add the package as a dependency to your project:

npm install @rdfjs/data-model --save

The package exports the parser as a class, so an instance must be created before it can be used. The .import method, as defined in the RDF/JS specification, must be called to do the actual parsing. It expects a JSON string stream or a stream which emits a single object. The method will return a stream which emits the parsed quads.

The constructor accepts an options object with the following optional keys:

  • baseIRI: Allows passing the base IRI manually to the jsonld-streaming-parser library.
  • context: Allows passing a JSON-LD context manually to the jsonld-streaming-parser library.
  • factory: Use an alternative RDF/JS data factory. By default the reference implementation us used.

It's also possible to pass options as second argument to the .import method. The options from the constructor and the .import method will be merged together.

Example

This example shows how to create a parser instance and how to feed it with a stream from a string. The parsed quads are written to the console.

import ParserJsonld from '@rdfjs/parser-jsonld'
import { Readable } from 'stream'

const parserJsonld = new ParserJsonld()

const input = new Readable({
  read: () => {
    input.push(`{
      "@context": "http://schema.org/",
      "@type": "Person",
      "name": "Jane Doe",
      "jobTitle": "Professor",
      "telephone": "(425) 123-4567",
      "url": "http://www.janedoe.com"
    }`)
    input.push(null)
  }
})

const output = parserJsonld.import(input)

output.on('data', quad => {
  console.log(`${quad.subject.value} - ${quad.predicate.value} - ${quad.object.value}`)
})

About

JSON-LD parser that implements the RDFJS Sink interface using jsonld.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published