No description
  • JavaScript 99.5%
  • HTML 0.5%
Find a file
2025-07-24 22:17:49 +02: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 Support correct nodeKind for sh:or with all elements containing sh:class 2025-07-24 22:11:24 +02:00
tests Update mock shape data and tests for getPropertyNodeKind 2025-07-24 22:11:53 +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 Replace rdf-ext with n3 in an attept to improve performance 2025-05-20 11:41:18 +02:00
package.json bump minor version 2025-07-24 22:17:49 +02:00
README.md Add funding acknowledgements to README 2025-04-23 09:56:51 +02: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 shacl-vue.

Usage

Install from npm

npm install shacl-tulip

Install from latest source code

Clone the source code:

git clone https://github.com/psychoinformatics-de/shacl-tulip.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