- slc:value (UNDEFINED)
[slc:refSpecAttribute] > slc:executionSpecAttribute
+orderable
mixin
// typically a class name
- slc:type (STRING)
-+ slc:value
+- slc:value (UNDEFINED)
+ * (mix:title)
[slc:executionFlow] > nt:unstructured, mix:title
// PROCESS
[slc:process] > nt:unstructured, mix:created, mix:lastModified
+orderable
- slc:uuid (STRING) ! m
- slc:status (STRING) m
+ slc:flow (slc:realizedFlow)
++ slc:log
+
+// The first part of the relative path is the thread name, rest is location
+[slc:logEntry] > nt:unstructured
+abstract
+- slc:message (STRING) !
+- slc:timestamp (STRING)
+
+// Log levels are set via types.
+// Querying one level also queries the higher levels thanks to the inheritance
+// e.g. 'select * from [slc:logWarn]' also returns errors
+[slc:logTrace] > slc:logEntry
+
+[slc:logDebug] > slc:logTrace
+
+[slc:logInfo] > slc:logDebug
+
+[slc:logWarning] > slc:logInfo
+
+[slc:logError] > slc:logWarning
[slc:realizedFlow] > nt:base
+orderable
mixin
// the name of the flow
// - slc:flow (STRING)
// - slc:spec (STRING)
- slc:started (DATE)
- slc:completed (DATE)
+//- slc:status (STRING)
+ slc:address (nt:address)
+ slc:flow (slc:realizedFlow) *
// the realized execution spec attributes
// RESULT
[slc:result] > nt:unstructured, mix:created, mix:lastModified
- slc:uuid (STRING) ! m
+- slc:testCase (STRING)
- slc:completed (DATE)
+[slc:diffResult] > slc:result
++ slc:summary
++ slc:issues
+
[slc:check] > nt:unstructured
// true for PASSED, false for FAILED or ERROR
- slc:success (BOOLEAN) ! m
- slc:message (STRING)
// ERROR if set, the check could not be performed because of an unexpected exception
- slc:errorMessage (STRING)
+// to ease transition with legacy approach
+ * (slc:property) *
[slc:property] > nt:unstructured