Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

The low-code Knowledge Graph application platform. Apache license.

License

NotificationsYou must be signed in to change notification settings

AtomGraph/LinkedDataHub

 
 

Repository files navigation

LinkedDataHub (LDH) is an open source software you can use to manage data, create visualizations and build apps on RDF Knowledge Graphs.

AtomGraph LinkedDataHub screenshot

Welcome to LinkedDataHub. We started the project with the intention to use it for Linked Data publishing, but gradually realized that we've built a multi-purpose data-driven platform.

We are building LinkedDataHub for:

  • domain experts who work with RDF data and need an accessible low-code publishing, exploration and management tool
  • developers who are looking for a declarative full stack framework for web application and API development
  • data engineers who need an open-source RDF platform that can be customized for a variety of use cases

What makes LinkedDataHub unique is its completelydata-driven architecture: applications and documents are defined as data, managed using a single generic HTTP API and presented using declarative technologies. The default application structure and user interface are provided, but they can be completely overridden and customized. Unless a custom server-side processing is required, no imperative code such as Java or JavaScript needs to be involved at all.

Follow theGet started guide to build your first application on LinkedDataHub. The setup and basic configuration sections are provided below and should get you running.

Setup

Click to expand
  1. Have yourbash shell ready. It should be included by default on Linux. On Windows you can install theWindows Subsystem for Linux.
  2. Install Docker
  3. Fork this repository and clone the fork into a folder
  4. In the folder, create an.env file and fill out the missing values (you can use.env_sample as a template). For example:
    COMPOSE_CONVERT_WINDOWS_PATHS=1COMPOSE_PROJECT_NAME=linkeddatahubPROTOCOL=httpsPROXY_HTTP_PORT=81PROXY_HTTPS_PORT=4443HOST=localhostABS_PATH=/OWNER_MBOX=john@doe.comOWNER_GIVEN_NAME=JohnOWNER_FAMILY_NAME=DoeOWNER_ORG_UNIT=My unitOWNER_ORGANIZATION=My orgOWNER_LOCALITY=CopenhagenOWNER_STATE_OR_PROVINCE=DenmarkOWNER_COUNTRY_NAME=DK
  5. Setup SSL certificates/keys by running this from command line (replace$owner_cert_pwd and$secretary_cert_pwd with your own passwords):
    ./scripts/setup.sh .env ssl $owner_cert_pwd $secretary_cert_pwd 3650
    The script will create anssl sub-folder where the SSL certificates and/or public keys will be placed. It requires Java'skeytool as well asopenssl to be available on$PATH.
  6. Launch the application services by running this from command line:
    docker-compose up
    LinkedDataHub will start and mount the following sub-folders:
    • data where the triplestore(s) will persist RDF data
    • uploads where LDH stores content-hashed file uploadsThe first should take around half a minute as datasets are being loaded into triplestores. After a successful startup, the last line of the Docker log should read something like:
    linkeddatahub_1     | 09-Feb-2021 14:18:10.536 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [32609] milliseconds
  7. Installssl/owner/keystore.p12 into a web browser of your choice (password is the$owner_cert_pwd value supplied tosetup.sh)
    • Google Chrome:Settings > Advanced > Manage Certificates > Import...
    • Mozilla Firefox:Options > Privacy > Security > View Certificates... > Import...
    • Apple Safari: The file is installed directly into the operating system. Open the file and import it using theKeychain Access tool.
    • Microsoft Edge: Does not support certificate management, you need to install the file into Windows.Read more here.
  8. Openhttps://localhost:4443/ in that web browser

Notes

  • You will likely get a browser warning such asYour connection is not private in Chrome orWarning: Potential Security Risk Ahead in Firefox due to the self-signed server certificate. Ignore it: clickAdvanced andProceed orAccept the risk to proceed.
    • If this option does not appear in Chrome (as observed on some MacOS), you can openchrome://flags/#allow-insecure-localhost, switchAllow invalid certificates for resources loaded from localhost toEnabled and restart Chrome
  • .env_sample and.env files might be invisible in MacOS Finder which hides filenames starting with a dot. You should be able tocreate it using Terminal however.
  • On Linux your user may need to be a member of thedocker group. Add it using
sudo usermod -aG docker ${USER}

and re-login with your user. An alternative, but not recommended, is to run

sudo docker-compose up

Configuration

Click to expand

Base URI

Besides owner WebID configuration, the most common case is changing the base URI from the defaulthttps://localhost:4443/ to your own.

Lets usehttps://ec2-54-235-229-141.compute-1.amazonaws.com/linkeddatahub/ as an example. We need to split the URI into components and set them in the.env file using the following parameters:

PROTOCOL=httpsHTTP_PORT=80HTTPS_PORT=443HOST=ec2-54-235-229-141.compute-1.amazonaws.comABS_PATH=/linkeddatahub/

ABS_PATH is required, even if it's just/.

Dataspaces

Dataspaces are configured inconfig/system.trig. Relative URIs will be resolved against the base URI configured in the.env file.

⚠️ Do not use blank nodes to identify applications or services. We recommend using theurn: URI scheme, since LinkedDataHub application resources are not accessible under their own dataspace.

Reset

If you need to start fresh and wipe the existing setup (e.g. after configuring a new base URI), you can do that using

sudo rm -rf data && docker-compose down -v

⚠️ This willremove the persisted data as well as Docker volumes.

LinkedDataHub CLI wraps the HTTP API into a set of shell scripts with convenient parameters. The scripts can be used for testing, automation, scheduled execution and such. It is usually much quicker to perform actions using CLI rather than the user interface, as well as easier to reproduce.

The scripts can be found in thescripts subfolder.

⚠️ The CLI scripts internally useJena's CLI commands. Set up the Jena environment before running the scripts.

An environment variableJENA_HOME is used by all the command line tools to configure the class path automatically for you. You can set this up as follows:

On Linux / Mac

export JENA_HOME=the directory you downloaded Jena toexport PATH="$PATH:$JENA_HOME/bin"

Get thesource code⚠️ Before running app installation scripts that use LinkedDataHub's CLI scripts, set theSCRIPT_ROOT environmental variable to thescripts subfolder of your LinkedDataHub fork or clone. For example:

export SCRIPT_ROOT="/c/Users/namedgraph/WebRoot/AtomGraph/LinkedDataHub/scripts"

How to get involved

Test suite

LinkedDataHub includes an HTTPtest suite. The server implementation is also covered by theProcessor test suite.

HTTP-testsHTTP-tests

Dependencies

Support

Pleasereport issues if you've encountered a bug or have a feature request.

Commercial consulting, development, and support are available fromAtomGraph.

Community

Packages

No packages published

Contributors6


[8]ページ先頭

©2009-2025 Movatter.jp