scoop

SCOOP: Shape Integration Framework

https://github.com/dtai-kg/scoop

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

knowledge-graph knowledge-graph-validation ontology owl rdf rdf-validation rml rml-mapping shacl shacl-shapes shapes-integration xml-schema xsd
Last synced: 6 months ago · JSON representation ·

Repository

SCOOP: Shape Integration Framework

Basic Info
Statistics
  • Stars: 7
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
knowledge-graph knowledge-graph-validation ontology owl rdf rdf-validation rml rml-mapping shacl shacl-shapes shapes-integration xml-schema xsd
Created about 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

SCOOP

License DOI

SCOOP is a framework that exploits all artifacts associated with the construction of an RDF graph, i.e. data schemas, ontologies, and mapping rules, and integrates the SHACL shapes extracted from each artifact into a unified shapes graph.

We implemented SCOOP-All, SCOOP-Prior, and SCOOP-Prior-R.

We incorporate RML2SHACL, Astrea, and XSD2SHACL.

Installation

Using git clone:

$ git clone https://github.com/dtai-kg/SCOOP.git

Installing reqruiements:

$ pip install -r requirements

Command Line Use

For command line use:

$ python main.py --mode priority/priorityR/all --priority source1 source2 source3 --parallel true/false -m PATH_TO_RML/PATH_TO_RML_FOLDER -o PATH_TO_ONTOLOGY/PATH_TO_ONTOLOGY_FOLDER -x PATH_TO_XSD/PATH_TO_XSD_FOLDER -xr PATH_TO_ADJUSTMENT_XSD/PATH_TO_ADJUSTMENT_RML_FOLDER -ot OUT_PUT_PATH

For example:

$ python main.py --mode all --parallel True -m usecases/RINF/mappings/ -o usecases/RINF/ontology/ontology.ttl -x usecases/RINF/schema/ -xr usecases/RINF/mappings/ -ot SCOOP_all_rml_owl_xsd.ttl

Where: - --mode is used to specify the integration mode, with three available options: "priority", "priorityR", and "all". Use this option to control the behavior of integration. - --priority is used to specify the priority order of sources, default is mapping rules higher than ontologies higher than XSD. - --parallel is used to specify whether parallel mode is enabled. If set to True, parallel processing may be used during integration for improved efficiency; if set to False, parallel processing is not utilized. - -m, --mappings is used to specify the path to the folder or mapping files to be translated. Multiple file paths can be provided. - -x, --xsd is used to specify the path to the folder or XSD files to be translated. Multiple file paths can be provided. - -o, --ontology is used to specify the path to the folder or ontology files to be translated. Multiple file paths can be provided. - -xr, --xsd_rml is used to specify the RML file or folder path for post-adjustment of XSD-driven shapes. Multiple file paths can be provided. - -ot, --output is used to specify the output file path and name. The default value is "shape_integration.ttl". If not provided, the result will be saved to the default file.

Full CLI Usage options: ``` $ python main.py -h usage: main.py [-h] [--mode] [--parallel] [--priority] [-m --mappings] [-o --ontology] [-x --xsd] [-xr --xsd_rml] [-ot --output]

optional arguments: -h, --help show this help message and exit --mode integration mode: priority, priorityR, or all (default: priority) --parallel parallel mode: True or False (default: False) --priority [PRIORITY ...] List of priority for integrating shapes from diverse sources (default: ['rml', 'ontology', 'xsd']) -m --mappings [MAPPINGS ...] Path to folder or mapping files to be translated -o --ontology [ONTOLOGY ...] Path to folder or ontology files to be translated -x --xsd [XSD ...] Path to folder or xsd file to be translated -xr --xsdrml [XSDRML ...] Path to folder or rml file for post-adjustment of XSD-driven shape -ot --output Output file (default: shape_integration.ttl) ```

Cite

To cite our work:

@inproceedings{duan2024scoop,
    author = {Duan, Xuemin and Chaves-Fraga, David and Derom, Olivier and Dimou, Anastasia},
    title = {{SCOOP all the Constraints’ Flavours for your Knowledge Graph}},
    year = {2024},
    booktitle = {Proceedings of the 21\textsuperscript{th} Extended Semantic Web Conference (ESWC)},
    }

Owner

  • Name: dtai-kg
  • Login: dtai-kg
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
title: "SCOOP"
license: Apache-2.0
authors:
  - family-names: Duan
    given-names: Xuemin
preferred-citation:
  authors:
    - family-names: Duan
      given-names: Xuemin
    - family-names: Chaves-Fraga
      given-names: David
    - family-names: Derom
      given-names: Olivier
    - family-names: Dimou
      given-names: Anastasia
  title: "SCOOP all the Constraints’ Flavours for your Knowledge Graph"
  type: conference-paper
  collection-title: "Proceedings of the 21\textsuperscript{th} Extended Semantic Web Conference (ESWC)"
  year: 2024

GitHub Events

Total
  • Watch event: 3
  • Push event: 2
Last Year
  • Watch event: 3
  • Push event: 2

Dependencies

requirements.txt pypi
  • pyshacl ==0.20.0
  • rdflib ==6.2.0