The structure of project-pan is given at a high level here, including what each namespace does and the different kinds of validation happens.
The axioms
namespace contains all base-level properties that are used to validate the values of Profile properties. These axioms include:
The objects
folder contains all specs for syntax validation of Profiles, as well as relational IRI validation between objects. The structure of this folder is designed as such to reflect the hierarchical structure of a Profile based off of the values of the type
property (though there are exceptions, such as the rules
folder under templates
.
objects
+-- profiles
+-- author
+-- versions
+-- concepts
+-- verbs
+-- activity_types
+-- attachment_usage_types
+-- extensions
+-- activity
+-- context
+-- result
+-- document_resources
+-- activity_profile
+-- agent_profile
+-- state
+-- activity
+-- templates
+-- rules
+-- patterns
This namespace is used for ID-related validation tasks, include checking for duplicate IDs and validating inScheme
values.
This namespace is used for @context
-related validation tasks, including validating @context
maps and validating that keys can use them to expand to absolute IRIs.
This is a util namespace used for common graph-related functions, such as building nodes and edges as well as checking for self-loops.
This namespace is used for printing error messages using Expound. Check this namespace to get a full list of error messages.
This folder contains shared functions and specs, including those for JSON and EDN parsing.
Can you improve this documentation? These fine people already did:
kelvinqian00 & Kelvin QianEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close