Giter Site home page Giter Site logo

resourcehosting's Introduction

ResourceHosting is a simple Linked Data read & write interface using only HTTP commands. In the concept it is similar to the Linked Data Platform but less sophisticated. It has no complex storage structure underneath, just an RDF file. The ResourceHosting was implemented as part of the Structured Feedback Protocol prototype. (The paper Structured Feedback: A Distributed Protocol for Feedback and Patches on the Web of Data was presented at the LDOW2016 Workshop of the WWW conference.)

Installation

Requires Python3

Install pip to be able to do the following:

pip install virtualenvwrapper # If you don't have virtualenvwrapper already
cd /path/to/this/repo
mkvirtualenv -p /usr/bin/python3 ldow
pip install -r requirements.txt
./ldowapi.py start.nq --input nquads

API

Get a free URL/Hash under

http://your.host/

Insert data via PUT/POST

http://your.host/a_graph_or_resource_uri_which_is_free

e.g.

curl --request PUT \
  --url http://localhost:5000/5bc2a4997778f54dbca356730a627b4a \
  --header 'content-type: application/n-quads' \
  --data '<http://localhost:5000/5bc2a4997778f54dbca356730a627b4a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/SomeThing> .
<http://localhost:5000/5bc2a4997778f54dbca356730a627b4a> <http://example.org/prop> "Value" .
<http://example.org/SomeThing> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/Class> <http://localhost:5000/5bc2a4997778f54dbca356730a627b4a> .'

Read data from the Linked Data Endpoint via GET

http://your.host/existing_resource_or_graph

e.g.

curl --request GET \
  --url http://localhost:5000/5bc2a4997778f54dbca356730a627b4a \
  --header 'accept: text/turtle'

Run in docker

For tests build a local docker image and run the container

docker build -t "resourcehosting" .
docker run --name=resourcehosting -p port:80 resourcehosting:latest

with port being an unused port of your host.

resourcehosting's People

Contributors

splattater avatar white-gecko avatar

Watchers

Martin avatar Michael Martin avatar Claus Stadler avatar James Cloos avatar Sebastian Hellmann avatar  avatar Mohamed avatar Axel Ngonga avatar  avatar Thomas Riechert avatar Ali Khalili avatar Mofeed Hassan avatar Muhammad Saleem avatar Markus Ackermann avatar Farshad Badie avatar Diego Moussallem avatar Ciro Baron Neto avatar  avatar AKSW docker index account avatar  avatar  avatar  avatar

resourcehosting's Issues

Interesting Title

Can you please explain a bit more what this project is about to minimize the chance to do similiar work in AKSW and add the description to README.md. Thank you in advance

Blank ids are leaking/reused

Blank ids are leaking between graphs or the same blank ids are reused if the incomming blank id is called the same as in a graph sent before.

e.g. sending once

<http://example.org/res> <http://example.org/prop> _:a .
_:a <http://example.org/prop> "Hallo" .

and

<http://example.org/other> <http://example.org/prop> _:a .
_:a <http://example.org/prop> "Something" .

to the resource hosting will result in the following on requesting "http://example.org/other"

<http://example.org/other> <http://example.org/prop> _:someHash .
_:someHash <http://example.org/prop> "Something" .
_:someHash <http://example.org/prop> "Hallo" .

and on requesting "http://example.org/res":

<http://example.org/res> <http://example.org/prop> _:someHash .
_:someHash <http://example.org/prop> "Something" .
_:someHash <http://example.org/prop> "Hallo" .

(while _:someHash is always the same)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.