https://github.com/atomgraph/linkeddatahub-apps
System, demo, and user-submitted applications built on LinkedDataHub
https://github.com/atomgraph/linkeddatahub-apps
data-driven declarative demo-app knowledge-graph low-code sparql xslt
Last synced: 3 months ago
JSON representation
System, demo, and user-submitted applications built on LinkedDataHub
- Host: GitHub
- URL: https://github.com/atomgraph/linkeddatahub-apps
- Owner: AtomGraph
- License: apache-2.0
- Created: 2020-01-25T22:39:00.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-14T22:06:21.000Z (about 2 years ago)
- Last Synced: 2024-04-16T18:33:32.278Z (about 2 years ago)
- Topics: data-driven, declarative, demo-app, knowledge-graph, low-code, sparql, xslt
- Language: XSLT
- Homepage: https://linkeddatahub.com/demo/
- Size: 87.2 MB
- Stars: 10
- Watchers: 4
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LinkedDataHub applications
System, demo, and user-submitted applications built on LinkedDataHub. Completely data-driven, no code involved (besides the shell scripts).
## Prerequisites
The installation scripts in this repository use [LinkedDataHub's CLI scripts](https://atomgraph.github.io/LinkedDataHub/linkeddatahub/docs/reference/command-line-interface/). You need to add the `bin` (and its subfolders) of your LinkedDataHub fork or clone to `$PATH`, for example:
```shell
export PATH="$(find bin -type d -exec realpath {} \; | tr '\n' ':')$PATH"
```
__Note that app installation scripts are not idempotent. Subsequent runs might continue adding data but are not guaranteed to succeed.__
## Apps
### Documentation
**The documentation of LinkedDataHub open-source and Cloud versions.**
- Source
- linkeddatahub/docs/
- Features
- XHTML document content is rendered from RDF literals
- Lines of code
- 0 lines of imperative code
- 164 lines of installation shell scripts
### Northwind Traders
 navigation")
**Knowledge Graph representation of the [Northwind Traders](https://powerapps.microsoft.com/en-us/blog/northwind-traders-relational-data-sample/) sample database.**
- Source
- demo/northwind-traders/
- Live instance
- https://linkeddatahub.com/demo/northwind-traders/
- Features
- Faceted search
- Related results (parallax navigation)
- Custom
SELECTquery for each container that includes links to related resources (1:N relationships) from which faceted search options are generated - Import from CSV
- Lines of code
- 0 lines of imperative code
- 681 lines of SPARQL
- 951 lines of installation shell scripts
### City Graph

**Browser of Copenhagen's geospatial open data, imported from [Copenhagen Open Data](https://data.kk.dk/). Provides a type-colored geospatial overview. Geo resources provide a view with neighbouring resources included.**
- Source
- demo/copenhagen/
- Live instance
- https://copenhagen.demo.linkeddatahub.com/
- Features
- Import from CSV
- Lines of code
- 0 lines of imperative code
- 535 lines of SPARQL
- 488 lines of installation shell scripts
### Unesco Thesaurus


**Basic SKOS editor with a custom UI theme. Concepts, collections and concept schemas can be created, edited, and linked with each other. SKOS types have dedicated content templates; constructors are auto-generated during ontology import; constraints are added using CLI script.**
- Source
- demo/unesco-thesaurus/
- Live instance
- https://unesco-thesaurus.demo.linkeddatahub.com/
- Features
- Custom stylesheet
- Classes
- Constructors
- Constraints
- Lines of code
- 0 lines of imperative code
- 107 lines of SPARQL
- 499 lines of installation shell scripts
- 60 lines of XSLT stylesheet
__You need to request append/write access to be able to create/edit the data.__
## Packages
**Reusable vocabulary packages that add domain-specific functionality to LinkedDataHub dataspaces.**
Packages provide ontology imports and custom XSLT templates for rendering specific RDF vocabularies. They use **installation-time composition** - integrating content during installation via JAX-RS endpoints rather than loading dynamically at runtime.
### Structure
Each package consists of:
- **`ns.ttl`** - Ontology with vocabulary imports (`owl:imports`) and template blocks (`ldh:template`)
- **`layout.xsl`** - XSLT stylesheet with custom rendering templates using system modes
### Installation
Packages are installed via CLI or from application install scripts:
```bash
install-package.sh \
-b https://localhost:4443/ \
-f ssl/owner/cert.pem \
-p Password \
--package https://packages.linkeddatahub.com/skos/#this
```
Installation integrates the package by:
1. Downloading and storing the ontology as a SPARQL document
2. Adding `owl:imports` to the namespace ontology
3. Saving the stylesheet and updating master stylesheets with `xsl:import`
4. Clearing caches to load the new content
### Available Packages
- **[skos](packages/skos/)** - SKOS vocabulary support (concepts, schemes, collections)
### Architecture
- **Declarative only** - RDF + XSLT, no Java code
- **Installation-time composition** - Pre-composed before loading, no runtime overhead
- **Template blocks** (`ldh:template`) - SPARQL-based views attached to RDF types
- **XSLT overrides** - Custom rendering using system modes (`bs2:*`, `xhtml:*`, etc.)
[Read the full packages documentation →](packages/README.md)