Linked Data Platform server based on rdflib.js and node.js. This is all you need to run distributed linked data apps on top of the file system.
- GET, PUT and PATCH support
- Proxy for cross-site data access
- Access control using RDF ACLs
- WebID Authentication
- Real-time live updates (using websokets)
- Mount as express' router
npm install
var ldnode = require('ldnode')
var ldp = ldnode.createServer({
uriBase: "http://example.com/test/",
fileBase: __dirname + '/test/'
})
ldp.listen(1234, function() {
// Started Linked Data Platform
})You can integrate it with your existing express app
var ldnode = require('ldnode')
var app = require('express')()
app.use('/test', ldnode(opts))
...npm install -g ldnode
The command line tool has the following options
usage: ldnode [path] [options]
options:
--uriBase Address, port, and default path of the server. (Example: http://localhost:3000/test/)
--fileBase Base location to serve resources. Requests whose paths do not have fileBase as a prefix will be ignored
--live Offer and support live updates
-p Port to use
-v Log messages to console
--changesSuffix The suffix that will be used to identify the requests that will subscribe to changes to the object requested. Defaults to ,changes
--cors Enable CORS via the 'Access-Control-Allow-Origin' header
-c Set cache time (in seconds). e.g. -c10 for 10 seconds.
To disable caching, use -c-1.
--changesSuffix sss Change the URI suffix used for the URI of a change stream
--SSESuffix sss Change the URI suffix used for the URI of a SSE stream
-S --ssl Enable https.
-C --cert Path to ssl cert file (default: cert.pem).
-K --key Path to ssl key file (default: key.pem).
--webid Enable WebID authentication
--privateKey Path to the private key used to enable webid authentication
--cert Path to the private key used to enable webid authentication
-h --help Print this list and exit.
The tests assume that there is a running ldnode.
$ npm test