All Projects → LinkedDataFragments → Server.js

LinkedDataFragments / Server.js

Licence: other
A Triple Pattern Fragments server for Node.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Server.js

Akutan
A distributed knowledge graph store
Stars: ✭ 1,616 (+984.56%)
Mutual labels:  rdf, sparql
Hypergraphql
GraphQL interface for querying and serving linked data on the Web.
Stars: ✭ 112 (-24.83%)
Mutual labels:  rdf, sparql
Rasqal
Redland Rasqal RDF Query Library
Stars: ✭ 57 (-61.74%)
Mutual labels:  rdf, sparql
Sparql Engine
🚂 A framework for building SPARQL query engines in Javascript/Typescript
Stars: ✭ 39 (-73.83%)
Mutual labels:  rdf, sparql
Rdfsharp
Lightweight and friendly .NET library for modeling Semantic Web applications
Stars: ✭ 72 (-51.68%)
Mutual labels:  rdf, sparql
Trifid
Lightweight Linked Data Server and Proxy
Stars: ✭ 51 (-65.77%)
Mutual labels:  rdf, sparql
Solrdf
An RDF plugin for Solr
Stars: ✭ 113 (-24.16%)
Mutual labels:  rdf, sparql
Database
Blazegraph High Performance Graph Database
Stars: ✭ 568 (+281.21%)
Mutual labels:  rdf, sparql
Sparnatural
Sparnatural : javascript visual SPARQL query builder
Stars: ✭ 65 (-56.38%)
Mutual labels:  rdf, sparql
Semantic forms
Form generators leveraging semantic web standards (RDF(S), OWL, SPARQL , ...
Stars: ✭ 63 (-57.72%)
Mutual labels:  rdf, sparql
Askomics
DEPRECATED. See askomics/flaskomics
Stars: ✭ 22 (-85.23%)
Mutual labels:  rdf, sparql
Ontodia
Ontodia data diagraming library
Stars: ✭ 107 (-28.19%)
Mutual labels:  rdf, sparql
Jena
Apache Jena
Stars: ✭ 700 (+369.8%)
Mutual labels:  rdf, sparql
Rdf Ext
RDF library for NodeJS and the Browsers
Stars: ✭ 97 (-34.9%)
Mutual labels:  rdf, sparql
Awesome Semantic Web
A curated list of various semantic web and linked data resources.
Stars: ✭ 642 (+330.87%)
Mutual labels:  rdf, sparql
Client.js
[DEPRECATED] A JavaScript client for Triple Pattern Fragments interfaces.
Stars: ✭ 95 (-36.24%)
Mutual labels:  rdf, sparql
Web Karma
Information Integration Tool
Stars: ✭ 489 (+228.19%)
Mutual labels:  rdf, sparql
Easyrdf
EasyRdf is a PHP library designed to make it easy to consume and produce RDF.
Stars: ✭ 546 (+266.44%)
Mutual labels:  rdf, sparql
Graphql To Sparql.js
Converts GraphQL queries to SPARQL queries
Stars: ✭ 62 (-58.39%)
Mutual labels:  rdf, sparql
Virtuoso Sparql Endpoint Quickstart
creates a docker image with Virtuoso preloaded with the latest DBpedia dataset
Stars: ✭ 80 (-46.31%)
Mutual labels:  rdf, sparql

Linked Data Fragments Server

Build Status Coverage Status npm version DOI

This repository contains modules for Linked Data Fragments (LDF) servers.

Find more information about migrating from ldf-server 2.x.x on our wiki.

Motivation

On today's Web, Linked Data is published in different ways, which include data dumps, subject pages, and results of SPARQL queries. We call each such part a Linked Data Fragment.

The issue with the current Linked Data Fragments is that they are either so powerful that their servers suffer from low availability rates (as is the case with SPARQL), or either don't allow efficient querying.

Instead, this server offers Quad Pattern Fragments (a.k.a. Triple Pattern Fragments). Each Quad Pattern Fragment offers:

  • data that corresponds to a quad/triple pattern (example).
  • metadata that consists of the (approximate) total triple count (example).
  • controls that lead to all other fragments of the same dataset (example).

An example server is available at data.linkeddatafragments.org.

Quick Start

The easiest way to start using this server is via @ldf/server. (previously known as ldf-server)

Install the server

This server requires Node.js 10.0 or higher and is tested on OSX and Linux. To install, execute:

$ [sudo] npm install -g @ldf/server

Configure the data sources

First, create a configuration file config.json similar to config/config-example.json, in which you detail your data sources. For example, this configuration uses an HDT file and a SPARQL endpoint as sources:

{
  "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@ldf/server/^3.0.0/components/context.jsonld",
  "@id": "urn:ldf-server:my",
  "import": "preset-qpf:config-defaults.json",

  "title": "My Linked Data Fragments server",

  "datasources": [
    {
      "@id": "ex:myHdtDatasource",
      "@type": "HdtDatasource",
      "datasourceTitle": "DBpedia 2014",
      "description": "DBpedia 2014 with an HDT back-end",
      "datasourcePath": "dbpedia",
      "hdtFile": "data/dbpedia2014.hdt"
    },
    {
      "@id": "ex:mySparqlDatasource",
      "@type": "SparqlDatasource",
      "datasourceTitle": "DBpedia (Virtuoso)",
      "description": "DBpedia with a Virtuoso back-end",
      "datasourcePath": "dbpedia-sparql",
      "sparqlEndpoint": "https://dbpedia.org/sparql"
    }
  ]
}

More details on how to configure this server can be found in the README of @ldf/server.

Start the server

After creating a configuration file, execute

$ ldf-server config.json 5000 4

Here, 5000 is the HTTP port on which the server will listen, and 4 the number of worker processes.

Now visit http://localhost:5000/ in your browser.

Configure your own server

This repository should be used by LDF Server module developers as it contains multiple LDF Server modules that can be composed. We manage this repository as a monorepo using Lerna.

The following modules are available:

These modules can be used to configure your own LDF server with the features you want. As an example on how to make such a server, you can have a look at @ldf/server, which is a default server configuration that has all possible features enabled.

Development Setup

If you want to develop new features or use the (potentially unstable) in-development version, you can set up a development environment for this server.

LDF Server requires Node.JS 10.0 or higher and the Yarn package manager. LDF Server is tested on OSX, Linux and Windows.

This project can be setup by cloning and installing it as follows:

$ git clone https://github.com/LinkedDataFragments/Server.js.git
$ cd Server.js
$ yarn install

Note: npm install is not supported at the moment, as this project makes use of Yarn's workspaces functionality

This will install the dependencies of all modules, and bootstrap the Lerna monorepo. After that, all LDF Server packages are available in the packages/ folder and can be used in a development environment.

Furthermore, this will add pre-commit hooks to build, lint and test. These hooks can temporarily be disabled at your own risk by adding the -n flag to the commit command.

License

The Linked Data Fragments server is written by Ruben Verborgh, Miel Vander Sande, Ruben Taelman and colleagues.

This code is copyrighted by Ghent University – imec and released under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].