Skip to content

Enhancing Data Integrity with SHACL Constraints

Accurids leverages SHACL (Shapes Constraint Language) to define and validate RDF data, ensuring that entities such as people, organizations, and others meet specific data quality standards. This document outlines how SHACL constraints are utilized within Accurids to guide the creation of new entities and ensure the integrity of data associated with entities of a specific class type.

Understanding SHACL Constraints for Class Entities

In Accurids, when viewing an entity associated with a class (either rdf:Class or owl:Class), relevant SHACL constraints are displayed. These constraints specify the required properties and data formats for entities of this class, guiding users in maintaining consistent and complete data entries.

Embedded in the Entity Details View, the Constraints block is designed to outline the rules and conditions that shape the structure and integrity of your data. At its core, it serves to highlight fields that are essential when creating entities of a specific type, indicating mandatory fields and defining acceptable value types for some. This ensures that users are well-informed about the data they are entering, promoting adherence to established data standards and reducing the likelihood of errors. Currently focused on showcasing field requirements and mandatory status, our roadmap includes extending this feature to encompass comprehensive quality validations. This progression aims to reinforce data integrity and streamline data management processes, ensuring a robust and error-minimized environment.

For example, when accessing a "Person" entity, Accurids will display the SHACL constraints applicable to the "Person" class, such as required properties for family name, given name, and email. This visibility into constraints directly supports data integrity by accurately capturing all necessary information.

Constraints

Creating New Entities with SHACL Constraints

To create new entities within a specified domain, a namespace must first be registered in Accurids. Each namespace is associated with a defined reference concept, prompting Accurids to automatically create a dataset for entities belonging to that reference concept type.

When users initiate the creation of a new entity of a specific class type, such as a "Person," Accurids checks if there are defined SHACL constraints for the reference concept. A form with all relevant fields is displayed if constraints are present, ensuring users provide all required information according to the SHACL constraints.

Object Creation Form

Example: Defining SHACL Constraints for a Person

To define SHACL constraints for custom entity types, you can create a TTL (Turtle) file with the necessary SHACL shapes and upload it to the "constraints" dataset. Here's an example that defines constraints for a "Person" entity:

@prefix ex: <http://example.com/ns#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix schema: <https://schema.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:PersonShape
    a sh:NodeShape ;
    sh:targetClass schema:Person ;
    sh:property [
        sh:path schema:familyName ;
        sh:minCount 1 ;
        sh:datatype xsd:string ;
    ] ;
    sh:property [
        sh:path schema:givenName ;
        sh:minCount 1 ;
        sh:datatype xsd:string ;
    ] ;
    sh:property [
        sh:path schema:email ;
        sh:minCount 1 ;
        sh:datatype xsd:string ;
    ] .

This TTL example outlines a SHACL shape for a "Person" that specifies required properties (family name, given name, and email) with specified data types and constraints.

Conclusion

Integrating SHACL constraints into Accurids is crucial in upholding data quality across datasets. By guiding users through the entity creation process with predefined constraints, Accurids facilitates the consistent and accurate input of data, ensuring that all entities conform to established standards.