test affirmed rule
type: ObjectProperty
comment: Indicates a rule that is invoked with the current query result as predefined variable bindings. The result returned is the result of the rule invocation.
range: Minim rule
domain: Rule test

exists query
type: ObjectProperty
comment: This property is used with minim:ExistsTest to indicate a further query that is used to test for the existence of required metadata related to the results so far retrieved.
domain: Metadata exists test
range: SPARQL query

has checklist
type: ObjectProperty
comment: Supplies a minim:Checklist to be associated with some target resource. The subject of this property may be a target resource to which the checklist may be applied, or some arbitrary resource used as a collection of checklists, in which case the checklist itself should include a minim:forTargetTemplate property that is used in the selection of a checklist for some evaluation.
range: Minim checklist
domain: Thing

has MAY requirement
type: ObjectProperty
comment: indicates a requirement is optional for a checklist to be satisfied. Failure to satisfy a MAY requirement is not considered to be indicative of any problem.
sub property of: has requirement

has MUST requirement
type: ObjectProperty
comment: indicates a requirement that MUST be satisfied for a checklist to be satisfied
sub property of: has requirement

has requirement
type: ObjectProperty
comment: Place holder for minim:hasMustRequirement, minim:hasShouldRequirement or minim:hasMayRequirement
domain: Minim model
range: Minim requirement

has SHOULD requirement
type: ObjectProperty
comment: indicates a requirement is not mandatory for a checklist to be satisfied, but which is strongly recommended. Failure to satisfy a SHOULD requirement could be indicative of a problem.
sub property of: has requirement

is derived by
type: ObjectProperty
comment: Indicates a rule that, when its test evaluates to True, indicates that a requirement is satisfied.
domain: Minim requirement
range: Minim rule

list
type: ObjectProperty
comment: Used with minim:QueryTestRule to create an additional variable binding that is a list of values from every match of the probe query. The list is available to report templates, but not in any sub-rules that may be invoked.
domain: Query test rule
range: value collector

listfail
type: ObjectProperty
comment: Like minim:list, but collects values from probe queries for which the corresponding query result test is failed.
domain: Query test rule
range: value collector

listpass
type: ObjectProperty
comment: Like minim:list, but collects values from probe queries for which the corresponding query result test is passed.
domain: Query test rule
range: value collector

test negated rule
type: ObjectProperty
comment: Indicates a rule that is invoked with the current query result as predefined variable bindings. The result returned is success if the rule invocation fails, otherwise failure if the rule succeeds.
range: Minim rule
domain: Rule negation test

query
type: ObjectProperty
comment: This property indicates a query used to extract information from an RDF graph for requirement testing. In the current design, the only form of query defined is a SPARQL query, but other forms may be introduced later.
domain: Query test rule
range: SPARQL query

to model
type: ObjectProperty
comment: Indicates a minim:Model to be used to perform checklist evaluation for the indicated target resource to be suitable for the indicated purpose.
domain: Minim checklist
range: Minim model

aggregation test URI template
type: DatatypeProperty
comment: This property is used to specify a URI template (cf. http://tools.ietf.org/html/rfc6570) that is in turn used to construct the URI of resource that is tested for inclusion in the current RO aggregation. The test makes sense only for evaluations performed in the context provided by a Research Object.
domain: Aggregation test
range: string

collection list
type: DatatypeProperty
comment: When collecting a list of query value results, indicates a variable that is bound to the list of collected values.
domain: value collector
range: string

collection variable
type: DatatypeProperty
comment: When collecting a list of query value results, indicates a variable whose various bindings are collected.
domain: value collector
range: string

software test command
type: DatatypeProperty
comment: This property indicates a command to be issued to test the software environment
domain: Software environment rule
range: string

for purpose
type: DatatypeProperty
comment: Supplies a string which describes a purpose for which checklist evaluation of the target resource is to be performed. Note that a purpose is implicit in a checklist object itself, so the purpose is not treated as a separate resource, or given a separate URI. Rather, this string serves as a label or keyword that can be used in a user interface.
domain: Minim checklist
range: string

target resource URI template
type: DatatypeProperty
comment: Supplies a URI template that is expanded using predefined variable {targetro} to refer to the Research Object resource targeted by a checklist evaluation (typically, the URI template used is '{+targetro}'). Future implementations may provide alternative variables that may be used in a URI template to construct the URI of a resource to be targeted.
domain: Minim checklist
range: string

target graph
type: DatatypeProperty
comment: This property indicates a graph to be queried, by way of a URI template that is expanded using any currently result variable bindings. This is the mechanism whereby metadata from an RO may be compared with metadata from external resources.
domain: Query test rule
range: string

accessibility test URI template
type: DatatypeProperty
comment: This property is used to specify a URI template (cf. http://tools.ietf.org/html/rfc6570) that is in turn used to construct the URI of resource to be tested for accessibility (liveness).
domain: Accessibility test
range: string

maximum occurrences
type: DatatypeProperty
comment: This property is used with minim:CardinalityTest to indicate maximum number of distinct results that are required for a cardinality test to be satisfied. Note that minim:min and minim:max can be used together to define an exact cardinality or cardinality range test.
domain: Cardinality test
range: integer

minimum occurrences
type: DatatypeProperty
comment: This property is used with minim:CardinalityTest to indicate minimum number of distinct results that are required for a cardinality test to be satisfied. Note that minim:min and minim:max can be used together to define an exact cardinality or cardinality range test.
domain: Cardinality test
range: integer

software response regex
type: DatatypeProperty
comment: This property indicates a regular expression that is required to be matched by the output from the command used to test the software environment.
domain: Software environment rule
range: string

SPARQL result modifier
type: DatatypeProperty
comment: This property is used with minim:SparqlQuery to indicate a result modifier (e.g. ORDER BY, GROUP BY, etc.) that is applied to the results results obtained to matching the query pattern. Using result modifiers can make it easier to produce consistent diagnostic information.
domain: SPARQL query
range: string

sequence
type: DatatypeProperty
comment: A value that is used to order the requirements in a checklist for reporting purpose. It has no effect on the overall outcome of a checklist evaluation.
domain: Minim requirement
range: string

show
type: DatatypeProperty
comment: A template string that is used to report the evaluation of a rule. It has no effect on the overall outcome of a checklist evaluation. Query results and other values are nterpolated into the resulting report string by embedded codes of the form '%(varname)s' (Python format string style).
domain: Minim rule
range: string

showfail
type: DatatypeProperty
comment: A template string that is used to report the failure of a rule, overriding any minim:show value that may be present. It has no effect on the overall outcome of a checklist evaluation. Query results and other values are interpolated into the resulting report string by embedded codes of the form '%(varname)s' (Python format string style).
domain: Minim rule
range: string

showmiss
type: DatatypeProperty
comment: A template string that is used to report a query rule whose probe query matches no values. In such circumstances, it overrides any minim:show value that may be present Previous query results and other values are nterpolated into the resulting report string by embedded codes of the form '%(varname)s' (i.e. Python format string style).
domain: Minim rule
range: string

showpass
type: DatatypeProperty
comment: A template string that is used to report the success of a rule, overriding any minim:show value that may be present. It has no effect on the overall outcome of a checklist evaluation. Query results and other values are interpolated into the resulting report string by embedded codes of the form '%(varname)s' (Python format string style).
domain: Minim rule
range: string

SPARQL query pattern
type: DatatypeProperty
comment: This property indicates a SPARQL query pattern (such as would appear in a SPARQL WHERE clause) that is used to query the content of an RDF graph.
domain: SPARQL query
range: string

Accessibility test
type: Class
equivalent class: Restriction
  on property: accessibility test URI template
  qualified cardinality: 1
  on data range: string
subclass of: Query result test
comment: Test if a specified resource is accessible (live). The resource URI is constructed by using the corresponding query result to provide values for variables in an expansion of the supplied URI template (cf. http://tools.ietf.org/html/rfc6570)

Aggregation test
type: Class
equivalent class: Restriction
  on property: aggregation test URI template
  qualified cardinality: 1
  on data range: string
subclass of: Query result test
comment: Test if a specified resource is part of an RO aggregation. The resource URI is constructed by using the corresponding query result to provide values for variables in an expansion of the supplied URI template (cf. http://tools.ietf.org/html/rfc6570)

Cardinality test
type: Class
equivalent class: Class
  union of: Class
    intersection of: Restriction
      on property: maximum occurrences
      qualified cardinality: 1
      on data range: integer
    intersection of: Restriction
      on property: minimum occurrences
      max qualified cardinality: 1
      on data range: integer
  union of: Class
    intersection of: Restriction
      on property: minimum occurrences
      qualified cardinality: 1
      on data range: integer
    intersection of: Restriction
      on property: maximum occurrences
      max qualified cardinality: 1
      on data range: integer
subclass of: Query result test
comment: Tests the number of results returned by a query

Minim checklist
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: to model
    on class: Minim model
    qualified cardinality: 1
  intersection of: Restriction
    on property: for purpose
    qualified cardinality: 1
    on data range: string
  intersection of: Restriction
    on property: target resource URI template
    max qualified cardinality: 1
    on data range: string
comment: A checklist object indicates a minim:Model to be satisfied if a target resource is to be considered suitable for some specific purpose. As such, it links a target resource and a purpose for which it might be used with a minim:Model that must be satisfied for the resource to be considered fit for that purpose. A Checklist may be associated directly with a target resource as the subject of a minim:hasChecklist statement, or may be associated indirectly via a URI template that is the object of an associated minim:forTargetTemplate statement. The latter form is is more flexible as it allows a given checklist to be more easily used with multiple resources.

Metadata exists test
type: Class
equivalent class: Restriction
  on property: exists query
  on class: Generic query
  qualified cardinality: 1
subclass of: Query result test
comment: Tests to see if a supplied query is satisfied by available metadata, matching the query results retrieved so far. This test is a short-cut for a minim:RuleTest that refers to a 'min 1' cardinality test. @@TBD: keep this or drop it as redundant?

Minim model
type: Class
equivalent class: Restriction
  on property: has requirement
  all values from: Minim requirement
comment: A Minim model collects a number of requirements, and associates each with a MUST, SHOULD or MAY requirement level.

Generic query
type: Class
comment: Query an RDF graph and return values that match the supplied pattern. The results returned are a set of results, where each is a set of query variable bindings corresponding to a single match of the pattern, and the entire result set contains all distinct matches achieved. Specific query forms are subclasses of this class. Possible subclass types might include patterns based on SPARQL, SPIN, OWL and maybe other data-matching patterns.

Query result test
type: Class
comment: A test of a query result used in conjunction with a Query value to make a QueryTestRule. Any query tests should be declared as a subclass of this.

Query test rule
type: Class
equivalent class: Class
  intersection of: Query result test
  intersection of: Restriction
    on property: query
    on class: Generic query
    qualified cardinality: 1
  intersection of: Restriction
    on property: target graph
    max qualified cardinality: 1
    on data range: string
subclass of: Minim rule
comment: Generalized rule consisting of a query to extract information from an RDF graph, and a test that is applied to the results from applying that query. The query is assumed to return a set of results, each of which contains one ormore variable bindings. This currently available implementation uses a SPARQL query, but in principle other forms of query are possible, such as an OWL class expression. If a minim:graph value is supplied, it supplies a URI template used to identify the graph to be queried, otherwise the supplied RO annotation graph is queried.

Minim requirement
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: is derived by
    on class: Minim rule
    qualified cardinality: 1
  intersection of: Restriction
    on property: sequence
    all values from: string
comment: A Minim requirement, whose satisfaction is determined by evaluation of the indicated rule. The minim:seq value is used to order the requirement results returned, to allow more consistent reporting of results.

Minim rule
type: Class
comment: This is a generic placeholder for any rule which is evaluated to determine whether or not a Minim requirement is satisfied. The various checklist item rules should be declared as subclasses of this rule.

Rule negation test
type: Class
equivalent class: Restriction
  on property: test negated rule
  on class: Minim rule
  qualified cardinality: 1
subclass of: Query result test
comment: Invokes a specified rule with the current result as predefined variable bindings. The result returned is success if the rule invocation fails, otherwise failure if the rule succeeds.

Rule test
type: Class
equivalent class: Restriction
  on property: test affirmed rule
  on class: Minim rule
  qualified cardinality: 1
subclass of: Query result test
comment: Invokes a specified rule with the current result as predefined variable bindings. The result returned is the result of the rule invocation. This recursive invocation of minim:Rule allows chains of tests to be assembled when a single test alone does not suffice.

Software environment rule
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: software test command
    qualified cardinality: 1
    on data range: string
  intersection of: Restriction
    on property: software response regex
    qualified cardinality: 1
    on data range: string
subclass of: Minim rule
comment: A checklist requirement rule that tests the local software environment provides some specified capability or meets some specified requirement. The test works by issuing a command and testing to see if the response matches asupplied regular expression.

SPARQL query
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: SPARQL query pattern
    qualified cardinality: 1
    on data range: string
  intersection of: Restriction
    on property: SPARQL result modifier
    max qualified cardinality: 1
    on data range: string
subclass of: Generic query
comment: Query an RDF graph and returns results that match the supplied SPARQL query body. The results returned are a set of results, where each result is a set of query variable bindings corresponding to a single match of the query, and the entire result set contains all distinct matches achieved. The minim:result_mod value, if present, is added as a query result modifier, and may be used, among other things, to obtain results returned in a consistent oder for better diagnostics.

value collector
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: collection list
    qualified cardinality: 1
    on data range: string
  intersection of: Restriction
    on property: collection variable
    qualified cardinality: 1
    on data range: string
comment: A node that references a pair of variable names used when assembling a list of matched values from a probe query.