Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/huygensing/timbuctoo

an RDF datastore that gives researchers control over the sharing of data between datasets
https://github.com/huygensing/timbuctoo

berkeley-db graphql humanities java r2rml rdf

Last synced: about 6 hours ago
JSON representation

an RDF datastore that gives researchers control over the sharing of data between datasets

Awesome Lists containing this project

README

        

= Timbuctoo

Bridge to networked research data

== Getting Started

//tag::gettingstarted[]

=== Prerequisites
The following prerequisites need to be installed on the machine before running the Timbuctoo program:

* https://java.com/en/download/[Java]
* https://maven.apache.org/download.cgi[Maven]
* https://git-scm.com/downloads[Git]
* https://www.docker.com/[Docker]
* http://xmlsoft.org/downloads.html[libxml2-utils]

=== Start Timbuctoo without Docker
==== Installation
After the above requirements are fulfilled you can follow the following instructions to install Timbuctoo:

* Clone the https://github.com/HuygensING/timbuctoo.git[Timbuctoo Github repository] into a local directory using the command:

git clone https://github.com/HuygensING/timbuctoo.git

==== Starting Timbuctoo
- On the Timbuctoo root directory run the Maven build command:

mvn clean package

- On the "/devtools/debugrun" directory within your Timbuctoo repository, run:

./timbuctoo_only.sh

=== Start Timbuctoo with Docker
To start Timbuctoo only:
----
$ (sudo) docker run -p8080:80 huygensing/timbuctoo
----

To start Timbuctoo with Timbuctoo GUI:
----
$ (sudo) docker-compose up
----

=== Uploading data
- You can run a curl command of the following format to upload data into Timbuctoo:

curl -v -F "file=@//;type=" -F "encoding=UTF-8" -H "Authorization: fake" http://localhost:8080/u33707283d426f900d4d33707283d426f900d4d0d/mydataset/upload/rdf?forceCreation=true

`u33707283d426f900d4d33707283d426f900d4d0d` the user id of the user when no security is used.
`mydataset` will be the name of the dataset

- You can use the provided *_bia_clusius.ttl_* data as a example dataset. The for this is "text/turtle". It is available in the following folder:

"//src/test/resources/nl/knaw/huygens/timbuctoo/bia_clusius.ttl"

- Note that the above method forces a creation at upload time. Creating a dataset before doing the upload can be done at path:

"/dataSets/{userId}/{dataSetId}/create"

=== Querying data and Applying Mutations

- With Timbuctoo running, you can access the https://github.com/graphql/graphiql[GraphIQL in-browser IDE] by pointing your web-browser to the following address:

http://localhost:8080/static/graphiql

- You can then refer to https://github.com/HuygensING/timbuctoo/blob/master/documentation/timbuctoo-graphql-api-guide.adoc[this Timbuctoo GraphQL API guide] for querying and mutation instructions with examples.

//end::gettingstarted[]

== FAQs/Q&A

//tag::faqs[]

**I can't access my data from the GraphiQL and I get the error _"SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data"_ on the right pane when I try to query for data.**

It is likely that the filepath given while using the *curl* command to load the dataset was incorrect. Please note that the filepath to the dataset should be given in full (i.e. complete path from
root) with a '@' symbol preceding it.
//end::faqs[]

== License

Timbuctoo is licensed under the link:./LICENSE.txt[GPL license]

== Contributing

See the link:./CONTRIBUTING.adoc[contribution guidelines]

== Documentation

Read about compiling, installing/running and using/developing timbuctoo in the link:./documentation[documentation] folder.

== Acknowledgements

Timbuctoo is and has been funded by

* The Huygens Institute
* Golden Agents (until 2022)
* CLARIAH.nl (until 2018)
* NDE (funding ends december 2016)

'''

This repository is available online at https://github.com/HuygensING/timbuctoo