No description
  • JavaScript 99.5%
  • HTML 0.5%
Find a file
2026-01-26 10:45:58 +00:00
.github/workflows add github action workflow that runs tests on merge to main and PRs 2025-03-11 00:19:47 +01:00
public/tests Update mock shape data and tests for getPropertyNodeKind 2025-07-24 22:11:53 +02:00
src quadsToFormData should not add unnecessary object values 2025-12-05 16:13:01 +01:00
tests Change FormBase tracking of triple object values 2025-10-09 23:42:06 +02:00
.gitignore v0.0.1 of source code and tests for shacl-tulip 2025-03-10 23:32:43 +01:00
index.html v0.0.1 of source code and tests for shacl-tulip 2025-03-10 23:32:43 +01:00
LICENSE adds license and elementary readme 2025-03-11 00:11:52 +01:00
package-lock.json Change FormBase tracking of triple object values 2025-10-09 23:42:06 +02:00
package.json minor fix, minor version bump 2025-12-05 16:13:38 +01:00
README.md Update README.md 2026-01-26 10:45:58 +00:00
vite.config.mjs config cleanup 2025-03-11 00:42:02 +01:00

shacl-tulip

Like "shacl-vue-lib".

This is the main library behind the SHACL form/data-related functionality of shacl-vue.

Usage

Install from npm

npm install shacl-tulip

Install from latest source code

Clone the source code:

git clone https://hub.psychoinformatics.de/datalink/shacl-vue.git <path>

Install the library into your virtual environment and project:

npm install --save <path>

Using shacl-tulip

Import and use shacl-tulip in your JavaScript code, for example:

import { ShapesDataset} from 'shacl-tulip'

let shapesDS = new ShapesDataset();
const fileUrl = 'https://concepts.datalad.org/s/things/v1.shacl.ttl';
// Listen for and act on the 'graphLoaded' event
shapesDS.addEventListener('graphLoaded', (event) => {
    console.log('Shapes graph fully loaded:', event.detail)
    console.log(shapesDS.data.propertyGroups)
    console.log(shapesDS.data.nodeShapes)
    console.log(shapesDS.data.nodeShapeNames)
    console.log(shapesDS.data.nodeShapeNamesArray)
    console.log(shapesDS.data.nodeShapeIRIs)
    console.log(shapesDS.data.prefixes)
    console.log(shapesDS.data.serializedGraph)
    console.log(shapesDS.data.graphLoaded)
    console.log(shapesDS.data.prefixesLoaded)
    console.log(shapesDS.data.graph)
    console.log(shapesDS.data.graph.size)
});
// Load the RDF
shapesDS.loadRDF(fileUrl);

See here for all shacl-tulip exports, and inspect the class code for class-specific functionality.

Acknowledgements

This work was funded, in part, by

  • Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under grant TRR 379 (546006540, Q02 project)
  • Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under grant SFB 1451 (431549029, INF project)
  • MKW-NRW: Ministerium für Kultur und Wissenschaft des Landes Nordrhein-Westfalen under the Kooperationsplattformen 2022 program, grant number: KP22-106A