Skip to content

buda-base/editor-templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SHACL Shapes Templates for the BUDA editor

The shacl shapes express validation and UI information for the various Entities that are the focus of the BUDA platform:

  • Bibliographic items - bdo:Works, bdo:Instances, bdo:Items
  • bdo:Persons
  • bdo:Places
  • bdo:Topics
  • bdo:Roles
  • bdo:Lineages
  • bdo:Corporations

These are the resources that are subjects of editing. The shapes information for these Entities are organized into shapes graphs for each class of Entity, and for each class there are three graphs:

  • the top graph validates references from the focus Entity graph to other Entities, e.g., where a bdo:Work was published or the father of a bdo:Person. The top graph includes the local graph.
  • the ui graph contains information that supports the UI for the editing client, e.g., the order in which names, gender, birth/death events, student/teacher relationships should be presented on the UI and names and descriptions and so on. The ui graph includes the top and local graphs

The naming convention for the two sorts of shape graphs is classnameShapes, and classnameUIShapes. Top is not used in the naming and is understood in the classnameShapes form, that contains the full set of constraints for validating instances of classname.

There are a variety of supporting resources that may be associated with all, many, or some Entity classes:

  • bdo:Note
  • bdo:Label
  • bdo:ContentLocation
  • bdo:Event

The shapes associated with these are organized as above and imported as needed by the three types of shapes graphs for each Entity. The shapes for resources common to most or all Entities are contained in RootShapes, and RootUIShapes.

There is a BaseShapes graph that contains definitions of shapes and ancillary properties and classes that support the definitions used in shapes for Entites and other resources. Among the properties defined in BaseShapes are bds:topShapeGraph, and bds:uiShapeGraph. These connect an Entity class to the corresponding shapes graphs for the class:

bdo:Person 
    bds:topShapeGraph   bdg:PersonShapes ;
    bds:uiShapeGraph    bdg:PersonUIShapes .

The various shapes modules (shacl ontologies) are indicated in the ont-policy.rdf and the pattern of importing is illustrated below for the bdo:Person Entity:

PersonUIShapes
    PersonShapes
    EventUIShapes
    
PersonShapes    
    EventShapes

EventUIShapes
    EventShapes
    RootUIShapes

EventShapes
    RootShapes

RootUIShapes
    RootShapes

RootShapes
    BaseShapes

BaseShapes

LDSPDI cache

These shapes are served by LDSPDI, to renew the cache:

curl -XPOST 'http://ldspdi.bdrc.io/callbacks/github/shapes' -H 'Content-Type: application/json' -d '{}'

Prior work

About

SHACL templates for the BUDA editor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •