sparqledit

Web app that facilitates the editing of RDF literal values in Knowledge Graphs.

https://github.com/wintechis/sparqledit

Science Score: 57.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 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Web app that facilitates the editing of RDF literal values in Knowledge Graphs.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 3 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

SPARQL_edit

SPARQL_edit is a Web application that facilitates editing RDF literal values in RDF Knowledge Graphs.

The SPARQL_edit application in the app folder uses the alogrithm package from the algorithm folder.

Instructions for building the application are described in the app's README. The docs folder includes information around SPARQL_edit and examples for testing.

What is SPARQL_edit and how does it work?

SPARQL_edit is a React application that can be connected to SPARQL endpoints and helps to edit RDF literal values in the underlying RDF data.

The SPARQLedit app manages so-called "SPARQL views", simple configuration objects that define how to load a table of values from a SPARQL endpoint. For each view, SPARQLedit allows you to edit literal values in the table of query results.

SPARQL_edit executes a user-defined SPARQL/Select query and shows the results in a table. The result table displays RDF literals as editable input fields where the user can change the value. When the changes are saved, a view-update algorithm automatically creates a SPARQL/Update query which is used to update the specific value in the RDF graph.

For the defintion of a "SPARQL view", SPARQL_edit supports simple 'SELECT' queries on the default graph with basic graph patterns (BGP) that may contain * blank node patterns such as n-ary relations, * one 'FROM' keyword for defining the default graph, * 'OPTIONAL' triple patterns, * 'FILTER' statements and * solution sequence modifiers ('ORDER','LIMIT','OFFSET').

Restrictions

The view-update algorithm can only generate correct updates for "translatable" views. Therefore, SPARQLedit algorithm restricts the view definition with SPARQL to a subset of the SPARQL grammar. Unsupported SPARQL features are treated like wrong syntax or grammar inside the query editor (YASQE) of the app. A correct query which conforms to the SPARQL 1.1 specification might be labeled invalid because it uses language features that are not supported by the view-update algorithm. SPARQLedit allows for the execution of possibly invalid queries and tries to display the results although the literal update feature won't work in this case.

The restricted SPARQL grammar is described in docs/ontology-grammar. Grammar definitions that differ from the original SPARQL 1.1 grammar are listet in /docs/ontology-grammar/sparqlgrammardiff.html.

The algorithm is limited to SelectQueries that ... * do not modify the selected variables ('AS') * do not use named graphs ('FROM NAMED') and graph graph patterns ('GRAPH') * do not use 'GROUP BY' or 'HAVING' solution modifiers * do not have sub-queries * do not use graph patterns other than normal triple patterns, optional graph patterns and filters * do not modify values with variable bindings ('BIND') or aggregation ('COUNT', 'MIN', etc.) * do not include RDF containers and collections * do not use property paths

Usage tips

There are performance issues when loading more than 50000 results. Please use the SPARQL 'LIMIT' solution modifier to limit the number of result rows (e.g. 'LIMIT 10000').

Shortcuts for the query editor

| keys | command | |---|---| | [ctrl] + [space] | autocomplete | | [ctrl] + # | comment/uncomment | | [crtl] + [shift] + F | auto-format | | [crtl] + Z | undo last change | | [crtl] + Y | redo last change |

Changes to input fields can be submitted with ENTER.

SPARQL server CORS support

SPARQL_edit can only send requests if the SPARQL server supports Cross-Origin Resource Sharing (CORS).

Apache Jena Fuseki supports CORS by default. The rules are included in Jetty's application server configuration which can be found in the file apache-jena-fuseki-*\webapp\WEB-INF\web.xml.

GraphDB does not support CORS by default. It can be activated with command line parameters: -Dgraphdb.workbench.cors.enable=true.

Mixed Content restriction

If the app is served over HTTPS the browser blocks HTTP requests to other websites. (Firefox docu)

| | SPARQL URL | Allowed ? | |---|---|---| | HTTPS | https://example.org/store/sparql | Yes | | HTTP | http://example.org/example/sparql | No (only if explicitly allowed, see below) | | localhost | http://localhost:3030/example/sparql | Yes |

Disable 'Mixed Content' blocking for a certain web page: * Chrome * click on lock symbol next to URL -> show website information * website settings -> allow "unsafe content" * Firefox * click on lock symbol next to URL -> "Firefox has blocked parts of this page that are not secure" * click on "Connection secure" -> "Disable protection for now"

License

© 2023 | S.Meckler | Fraunhofer IIS

The SPARQL_edit algorithm and application can be redistributed and/or modified under the terms of the GNU Affero General Public License version 3 (AGPL-3.0).

Citation

Meckler, S., Harth, A. (2023). SPARQLedit: Editing RDF Literals in Knowledge Graphs via View-Update Translations. In: Payne, T.R., et al. The Semantic Web – ISWC 2023. ISWC 2023. Lecture Notes in Computer Science, vol 14266. Springer, Cham. https://doi.org/10.1007/978-3-031-47243-510

Acknowledgments

This work was funded by the Bavarian State Ministry of Economic Affairs and Media, Energy and Technology within the research program "Information and Communication Technology" (grant no. DIK0134/01).

Owner

  • Name: Chair of Technical Information Systems, Friedrich-Alexander-University
  • Login: wintechis
  • Kind: organization
  • Location: Nuremberg, Germany

The organization of the Chair of Technical Information Systems, FAU. Also used for cooperation with Fraunhofer SCS-DSIoT

Citation (CITATION.cff)

cff-version: 1.2.0
message: "Please cite this software as below."
title: "SPARQL_edit"
authors:
- family-names: "Meckler"
  given-names: "Sascha"
url: "https://github.com/wintechis/sparqledit"
license: AGPL-3.0
preferred-citation:
  type: conference-paper
  title: "SPARQL_edit: Editing RDF Literals in Knowledge Graphs via View-Update Translations"
  authors:
  - family-names: "Meckler"
    given-names: "Sascha"
  - family-names: "Harth"
    given-names: "Andreas"
  year: 2023
  doi: "10.1007/978-3-031-47243-5_10"
  collection-title: "The Semantic Web – ISWC 2023"

GitHub Events

Total
Last Year