npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

oslc-service

v1.0.0

Published

An Express middleware for OSLC 3.0 that supports any OSLC Domain

Downloads

5

Readme

oslc-service

Discourse status Gitter

A Node.js module providing Express middleware to create an OSLC 3.0 server. The service uses the ldp-service Express middleware module which provides a database of the user's choosing for persistence, jsonld.js for JSON-LD support, and a few other JavaScript libraries. A sample app using the OSLC middleware service is running at http://oslc-browser.mybluemix.net.

oslc-service supports any OSLC Domain by including the domain vocabulary URIs at open-services.net/ns in the config.json file.

Many thanks to Steve Speicher and Sam Padgett for their valuable contribution to LDP and the LDP middleware upon which this service is built.

Module planning, maintenance and issues can be see at at the oslc-service IBM Bluemix DevOps Services project.

Using oslc-service

  1. Install the required modules

Install Node.js.

Run your database. Below are instructions for using oslc-service with the Apache Jena Fuseki database.

Start Jena. Download apache-jena-fuseki-2.4.1.tar.gz under Apache Jena Fuseki and unzip it.

To run Jena, enter the following code

$ fuseki-server --mem /ldp

/ldp is a datastore that allows the request to access the resources on the db. It can be named in any other way. --mem allows for temporary storage of data for that instant. For the data to permantently store data (and to update data), the following code should be ran.

$ fuseki-server --update --loc=<path to db> /ldp

--update allows the user to update resources, while --loc tells the location of the stored items for persistence.

Install express.js and create a sample express app

$ npm install express -g
$ express --git -e <appDir>
  1. Edit the package.json file to add a dependency on ldp-service

    "dependencies": {"oslc-service": "~0.0.1"},

  2. Edit app.js and add whatever Express middleware you need including ldp-service. ldp-service can be customized to support any type of database (it is currently in production). For setting up ldp-service, we will use ldp-service-jena as an example. ldp-service-jena provides access to its Apache Jena database in case additional middleware needs direct access to the database. ldp-service-jena has not been published to npm yet, so it will need to be access locally.

    var ldpService = require('./ldp-service-jena'); app.use(ldpService()); var db = ldpService.db; // incase further middleware needs access to the database

  3. Configuration defaults can be found in config.json. These may be overridden by variables in the environment, including Bluemix variables if deployed in a Bluemix app.

  4. To start the app, run these commands

    $ npm install $ node app.js

Finally, point your browser to http://localhost:3000/.

To test the oslc-server, we recommend using a browser based REST client that sends requests to http://localhost:3000/. One example is Mozilla Firefox's RESTClient.

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

FOSSA Status