This document describes the process for reporting implemetations of [[PROV-CONSTRAINTS]], i.e. PROV-CONSTRAINTS validators. It provides the instructions for implementers on running PROV-CONSTRAINTS test cases and reporting their results. It also lists all the test cases and links to download them.

Report Your Validator

The support for constraints from [[PROV-CONSTRAINTS]] in implementations cannot be determined as straightforward as with the features from the other PROV documents as they are, in many cases, interrelated. Sometimes, it is indeed required to consider a number of constraints together to determine the validity of a PROV document. Therefore, in order to facility reporting implementations of PROV-CONSTRAINTS, we provide test cases to assist with determining the level of support of a PROV-CONSTRAINTS implementation.

A test case for PROV-CONSTRAINTS is a PROV document that contains either valid or invalid PROV statements, and implementers of PROV-CONSTRAINTS are asked to determine its validity (as specified in [[PROV-CONSTRAINTS]]). The test cases are specially designed to cover a small set of constraints (called unit test cases, see Section 2.1) or to exercise a subset of PROV statements. By successfully determining the validity of such a test case, an implementation indirectly demonstrates its support for the PROV feature(s) covered by the test case.

Test cases

Each test case is given an identifier, e.g. ordering-derivation1-PASS-c42, which indicates whether the test case should be successfully validated (i.e. PASS) or not (i.e. FAIL). In addition, a test case's identifier also includes the numberings of the constraints that it covers at the end. e.g. c42.

The provenance document for each test case will be provided in the following representations:

Table 1. File representations provided for every test cases.
Representation File extension Documentation
RDF (PROV-O) .ttl [[PROV-O]] and [[TURTLE]]
PROV-N .provn [[PROV-N]]
PROV-XML .provx [[PROV-XML]]

For example, the available files for the test case ordering-derivation1-PASS-c42 are: ordering-derivation1-PASS-c42.ttl, ordering-derivation1-PASS-c42.provn, and ordering-derivation1-PASS-c42.provx. Please note that, all though we provide three different representations, you only need to validate one per each test case.

For your convenience, the download links for all the available test cases (as enumerated in Section 2) for each representation are respectively provided in the following text files: rdf-tests.txt, provn-tests.txt, and xml-tests.txt.

Test Results

Implementers are asked to validate each test case with their implementation and record the validation results in two lists: the pass list and the fail list. The pass list file MUST contain all the identifiers (one on each line) of the test cases that have been successfully validated, and the fail list MUST contain the identifiers of all those that have failed the validation. The identifiers MUST also include the file extension, e.g. ordering-derivation1-PASS-c42.provn, to indicate the versions that were actually tested. Test cases that are not supported by the implementation SHOULD NOT be included in either of the lists.

For example, if a validator can only process the PROV-N representations of the three test cases ordering-derivation1-PASS-c42, ordering-derivation2-FAIL-c42, and ordering-derivation3-PASS-c41-c42, we expect the result lists's contents to be similar to the below.

The pass list:
	ordering-derivation1-PASS-c42.provn
	ordering-derivation3-PASS-c41-c42.provn
	
The fail list:
	ordering-derivation2-FAIL-c42.provn

Please report your test results using the constraint questionnaire.

Test Case Catalogues

This section enumerates all test cases available for PROV-CONSTRAINTS. There are two types of test cases:

Unit test cases
Unit test cases are designed to cover particular constraints (see Section 2.1). Please note that there are a small number of test cases we do not provide the RDF representation since the (invalid) constructs therein cannot be expressed in valid RDF.
Example test cases
These are examples from PROV documents, which excercise various PROV statements. They are typically complex examples and cover numerous contraints. Therefore, we did not those constraints in the test cases' identifiers. However, any PROV-CONSTRAINTS implementation SHOULD be able to successfully validate all the example test cases. Test cases for examples from [[PROV-DM]] and [[PROV-O]] are listed in Section 2.2 and Section 2.3 respectively.

Unit Test Cases

All test cases SHOULD be checked for their validity with respect to the constraints they cover. A success test result for a test case means its validity MUST be the same as its expected validation result as provided in Table 2 below.

Table 2. PROV-CONSTRAINTS test cases
Identifier Constraints Expected Validation Result Download links
ordering-activity1-PASS-c30 Constraint 30 (start-precedes-end) PASS RDF PROV-N XML
ordering-activity2-PASS-c33 Constraint 33 (usage-within-activity) PASS RDF PROV-N XML
ordering-activity3-PASS-c34 Constraint 34 (generation-within-activity) PASS RDF PROV-N XML
ordering-activity4-PASS-c31 Constraint 31 (start-start-ordering) PASS RDF PROV-N XML
ordering-activity5-PASS-c32 Constraint 32 (end-end-ordering) PASS RDF PROV-N XML
ordering-association1-PASS-c47 Constraint 47 (wasAssociatedWith-ordering) PASS RDF PROV-N XML
ordering-association2-PASS-c47 Constraint 47 (wasAssociatedWith-ordering) PASS RDF PROV-N XML
ordering-attribution1-PASS-c48 Constraint 48 (wasAttributedTo-ordering) PASS RDF PROV-N XML
ordering-attribution2-PASS-c48 Constraint 48 (wasAttributedTo-ordering) PASS RDF PROV-N XML
ordering-communication-PASS-c35 Constraint 35 (wasInformedBy-ordering) PASS RDF PROV-N XML
ordering-delegation1-PASS-c49 Constraint 49 (actedOnBehalfOf-ordering) PASS RDF PROV-N XML
ordering-delegation2-PASS-c49 Constraint 49 (actedOnBehalfOf-ordering) PASS RDF PROV-N XML
ordering-derivation1-PASS-c42 Constraint 42 (derivation-generation-generation-ordering) PASS RDF PROV-N XML
ordering-derivation2-FAIL-c42 Constraint 42 (derivation-generation-generation-ordering) FAIL RDF PROV-N XML
ordering-derivation3-PASS-c41-c42 Constraint 41 (derivation-usage-generation-ordering)
Constraint 42 (derivation-generation-generation-ordering)
PASS RDF PROV-N XML
ordering-ends1-PASS-c44 Constraint 44 (wasEndedBy-ordering) PASS RDF PROV-N XML
ordering-entity1-PASS-c36-c37-c38 Constraint 36 (generation-precedes-invalidation)
Constraint 37 (generation-precedes-usage)
Constraint 38 (usage-precedes-invalidation)
PASS RDF PROV-N XML
ordering-entity2-PASS-c36 Constraint 36 (generation-precedes-invalidation) PASS RDF PROV-N XML
ordering-entity3-PASS-c39 Constraint 39 (generation-generation-ordering) PASS RDF PROV-N XML
ordering-entity4-PASS-c40 Constraint 40 (invalidation-invalidation-ordering) PASS RDF PROV-N XML
ordering-specialization1-PASS-c45 Constraint 45 (specialization-generation-ordering) PASS RDF PROV-N XML
ordering-specialization2-PASS-c46 Constraint 46 (specialization-invalidation-ordering) PASS RDF PROV-N XML
ordering-specialization3-PASS-c42-c45 Constraint 42 (derivation-generation-generation-ordering)
Constraint 45 (specialization-generation-ordering)
PASS RDF PROV-N XML
ordering-specialization4-FAIL-c42-c45 Constraint 42 (derivation-generation-generation-ordering)
Constraint 45 (specialization-generation-ordering)
FAIL RDF PROV-N XML
ordering-starts1-PASS-c43 Constraint 43 (wasStartedBy-ordering) PASS RDF PROV-N XML
type-collection-FAIL-c56 Constraint 56 (membership-empty-collection) FAIL RDF PROV-N XML
type-f1-FAIL-c50-c55 Constraint 50 (typing)
Constraint 55 (entity-activity-disjoint)
FAIL RDF PROV-N XML
type-f2-FAIL-c50-c55 Constraint 50 (typing)
Constraint 55 (entity-activity-disjoint)
FAIL RDF PROV-N XML
type-f3-FAIL-c54 Constraint 54 (impossible-object-property-overlap) FAIL RDF PROV-N XML
type-f4-FAIL-c53 Constraint 53 (impossible-property-overlap) FAIL RDF PROV-N XML
type-s1-PASS-c50-c55 Constraint 50 (typing)
Constraint 55 (entity-activity-disjoint)
PASS RDF PROV-N XML
type-s2-PASS-c50-c55 Constraint 50 (typing)
Constraint 55 (entity-activity-disjoint)
PASS RDF PROV-N XML
unification-activity-end-f1-FAIL-c29 Constraint 29 (unique-endTime) FAIL RDF PROV-N XML
unification-activity-end-s1-PASS-c29 Constraint 29 (unique-endTime) PASS RDF PROV-N XML
unification-activity-s1-PASS-c22 Constraint 22 (key-object) PASS RDF PROV-N XML
unification-activity-s2-PASS-c22 Constraint 22 (key-object) PASS RDF PROV-N XML
unification-activity-s3-PASS-c22 Constraint 22 (key-object) PASS RDF PROV-N XML
unification-activity-s4-PASS-c22 Constraint 22 (key-object) PASS RDF PROV-N XML
unification-activity-start-f1-FAIL-c28 Constraint 28 (unique-startTime) FAIL RDF PROV-N XML
unification-activity-start-s1-PASS-c28 Constraint 28 (unique-startTime) PASS RDF PROV-N XML
unification-association-f1-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-association-f2-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-association-f3-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-association-f4-FAIL-c23 Constraint 23 (key-properties) FAIL RDF* PROV-N XML
unification-association-f5-FAIL-c23 Constraint 23 (key-properties) FAIL RDF* PROV-N XML
unification-association-f6-FAIL-DM Malformed statement(s) FAIL RDF PROV-N XML
unification-association-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-association-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-association-s3-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-association-s4-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-association-s5-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-attributes-activity-s1-PASS-c22 Constraint 22 (key-object) PASS RDF PROV-N XML
unification-attributes-end-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-attributes-end-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-attributes-entity-s1-PASS-c22 Constraint 22 (key-object) PASS RDF PROV-N XML
unification-attributes-start-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-attributes-start-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-attribution-f1-FAIL-DM Malformed statement(s) FAIL RDF PROV-N XML
unification-attribution-f2-FAIL-DM Malformed statement(s) FAIL RDF PROV-N XML
unification-attribution-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-attribution-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-attribution-s3-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-attribution-s4-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-bundle-f1-FAIL-c55-c56 Constraint 55 (entity-activity-disjoint)
Constraint 56 (membership-empty-collection)
FAIL RDF PROV-N XML
unification-communication-f1-FAIL-DM Malformed statement(s) FAIL RDF PROV-N XML
unification-communication-f2-FAIL-DM Malformed statement(s) FAIL RDF PROV-N XML
unification-communication-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-communication-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-communication-s3-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-communication-s4-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-delegation-f1-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-delegation-f2-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-delegation-f3-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-delegation-f6-FAIL-DM Malformed statement(s) FAIL RDF PROV-N XML
unification-delegation-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-delegation-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-delegation-s3-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-delegation-s4-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-delegation-s5-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-derivation-f1-FAIL-c23 Constraint 23 (key-properties) FAIL RDF* PROV-N XML
unification-derivation-f2-FAIL-c23 Constraint 23 (key-properties) FAIL RDF* PROV-N XML
unification-derivation-f3-FAIL-c23 Constraint 23 (key-properties) FAIL RDF* PROV-N XML
unification-derivation-f4-FAIL-c23 Constraint 23 (key-properties) FAIL RDF* PROV-N XML
unification-derivation-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-derivation-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-derivation-s3-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-derivation-s4-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-derivation-s5-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-end-f1-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-end-f2-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-end-f3-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-end-f4-FAIL-c27 Constraint 27 (unique-wasEndedBy) FAIL RDF PROV-N XML
unification-end-f5-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-end-s1-PASS-c27 Constraint 27 (unique-wasEndedBy) PASS RDF PROV-N XML
unification-end-s2-PASS-c27 Constraint 27 (unique-wasEndedBy) PASS RDF PROV-N XML
unification-end-s3-PASS-c27 Constraint 27 (unique-wasEndedBy) PASS RDF PROV-N XML
unification-end-s4-PASS-c27 Constraint 27 (unique-wasEndedBy) PASS RDF PROV-N XML
unification-end-s5-PASS-c23-c27 Constraint 23 (key-properties)
Constraint 27 (unique-wasEndedBy)
PASS RDF PROV-N XML
unification-end-s6-PASS-c23-c27 Constraint 23 (key-properties)
Constraint 27 (unique-wasEndedBy)
PASS RDF PROV-N XML
unification-generation-f1-FAIL-c24 Constraint 24 (unique-generation) FAIL RDF PROV-N XML
unification-generation-f2-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-generation-f3-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-generation-f4-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-generation-f5-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-generation-f6-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-generation-f7-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-generation-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-generation-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-generation-s3-PASS-c24 Constraint 24 (unique-generation) PASS RDF PROV-N XML
unification-generation-s5-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-generation-s6-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-generation-s7-PASS-c23-c24 Constraint 23 (key-properties)
Constraint 24 (unique-generation)
PASS RDF PROV-N XML
unification-generation-s8-PASS-c23-c24 Constraint 23 (key-properties)
Constraint 24 (unique-generation)
PASS RDF PROV-N XML
unification-influence-f1-FAIL-DM Malformed statement(s) FAIL RDF PROV-N XML
unification-influence-f2-FAIL-DM Malformed statement(s) FAIL RDF PROV-N XML
unification-influence-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-invalidation-f1-FAIL-c25 Constraint 25 (unique-invalidation) FAIL RDF PROV-N XML
unification-invalidation-f2-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-invalidation-f3-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-invalidation-f4-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-invalidation-f5-FAIL-c23-c25 Constraint 23 (key-properties)
Constraint 25 (unique-invalidation)
FAIL RDF PROV-N XML
unification-invalidation-f6-FAIL-c23-c25 Constraint 23 (key-properties)
Constraint 25 (unique-invalidation)
FAIL RDF PROV-N XML
unification-invalidation-f7-FAIL-c23-c25 Constraint 23 (key-properties)
Constraint 25 (unique-invalidation)
FAIL RDF PROV-N XML
unification-invalidation-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-invalidation-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-invalidation-s3-PASS-c25 Constraint 25 (unique-invalidation) PASS RDF PROV-N XML
unification-invalidation-s5-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-invalidation-s6-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-invalidation-s7-PASS-c23-c25 Constraint 23 (key-properties)
Constraint 25 (unique-invalidation)
PASS RDF PROV-N XML
unification-invalidation-s8-PASS-c23-c25 Constraint 23 (key-properties)
Constraint 25 (unique-invalidation)
PASS RDF PROV-N XML
unification-membership-f1-FAIL-DM Malformed statement(s) FAIL No RDF PROV-N XML
unification-specialization-f1-FAIL-DM Malformed statement(s) FAIL No RDF PROV-N XML
unification-specialization-f2-FAIL-DM Malformed statement(s) FAIL No RDF PROV-N XML
unification-specialization-f3-FAIL-c52 Constraint 52 (impossible-specialization-reflexive) FAIL RDF PROV-N XML
unification-specialization-f4-FAIL-c52 Constraint 52 (impossible-specialization-reflexive) FAIL RDF PROV-N XML
unification-start-f1-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-start-f2-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-start-f3-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-start-f4-FAIL-c26 Constraint 26 (unique-wasStartedBy) FAIL RDF PROV-N XML
unification-start-f5-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-start-f6-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-start-f7-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-start-f8-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-start-s1-PASS-c26 Constraint 26 (unique-wasStartedBy) PASS RDF PROV-N XML
unification-start-s2-PASS-c26 Constraint 26 (unique-wasStartedBy) PASS RDF PROV-N XML
unification-start-s3-PASS-c26 Constraint 26 (unique-wasStartedBy) PASS RDF PROV-N XML
unification-start-s4-PASS-c26 Constraint 26 (unique-wasStartedBy) PASS RDF PROV-N XML
unification-start-s5-PASS-c23-c26 Constraint 23 (key-properties)
Constraint 26 (unique-wasStartedBy)
PASS RDF PROV-N XML
unification-start-s6-PASS-c23-c26 Constraint 23 (key-properties)
Constraint 26 (unique-wasStartedBy)
PASS RDF PROV-N XML
unification-start-s7-PASS-c23-c26 Constraint 23 (key-properties)
Constraint 26 (unique-wasStartedBy)
PASS RDF PROV-N XML
unification-start-s8-PASS-c23-c26 Constraint 23 (key-properties)
Constraint 26 (unique-wasStartedBy)
PASS RDF PROV-N XML
unification-start-s9-PASS-c23-c26 Constraint 23 (key-properties)
Constraint 26 (unique-wasStartedBy)
PASS RDF PROV-N XML
unification-usage-f2-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-usage-f3-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-usage-f4-FAIL-c23 Constraint 23 (key-properties) FAIL RDF PROV-N XML
unification-usage-f5-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-usage-f6-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-usage-f7-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-usage-s1-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-usage-s2-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-usage-s5-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-usage-s6-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-usage-s7-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
unification-usage-s8-PASS-c23 Constraint 23 (key-properties) PASS RDF PROV-N XML
prov-o-property-hadGeneration-FAIL-c51-DM Constraint 51 (impossible-unspecified-derivation-generation-use)
Malformed statement(s)
FAIL RDF PROV-N XML
prov-o-property-hadUsage-FAIL-c51-DM Constraint 51 (impossible-unspecified-derivation-generation-use)
Malformed statement(s)
FAIL RDF PROV-N XML

These test cases cannot be represented in RDF since they contain statements with same identifier, which are collapsed into one when converted into triples.

PROV-DM Test Cases

This section enumerates the example test cases from [[PROV-DM]].

Table 3. Test cases from [[PROV-DM]] examples
Identifier Download links
prov-dm-ex16_provenance_notation-PASS RDF PROV-N XML
prov-dm-ex17_entity-PASS RDF PROV-N XML
prov-dm-ex18_activity-PASS RDF PROV-N XML
prov-dm-ex19_generation-PASS RDF PROV-N XML
prov-dm-ex20_generation-PASS RDF PROV-N XML
prov-dm-ex21_usage-PASS RDF PROV-N XML
prov-dm-ex22_communication-PASS RDF PROV-N XML
prov-dm-ex23_start-PASS RDF PROV-N XML
prov-dm-ex24_start-PASS RDF PROV-N XML
prov-dm-ex25_start-PASS RDF PROV-N XML
prov-dm-ex26_end-PASS RDF PROV-N XML
prov-dm-ex27_invalidation-PASS RDF PROV-N XML
prov-dm-ex28_invalidation-PASS RDF PROV-N XML
prov-dm-ex29_invalidation-PASS RDF PROV-N XML
prov-dm-ex30_derivation-PASS RDF PROV-N XML
prov-dm-ex31_revision-PASS RDF PROV-N XML
prov-dm-ex32_quotation-PASS RDF PROV-N XML
prov-dm-ex33_primary_source-PASS RDF PROV-N XML
prov-dm-ex34_agent-PASS RDF PROV-N XML
prov-dm-ex35_attribution-PASS RDF PROV-N XML
prov-dm-ex36_association-PASS RDF PROV-N XML
prov-dm-ex37_association-PASS RDF PROV-N XML
prov-dm-ex38_delegation-PASS RDF PROV-N XML
prov-dm-ex39_influence-PASS RDF PROV-N XML
prov-dm-ex40_bundle-PASS RDF PROV-N XML
prov-dm-ex41_bundle-PASS RDF PROV-N XML
prov-dm-ex43_specialization-PASS RDF PROV-N XML
prov-dm-ex44_alternate-PASS RDF PROV-N XML
prov-dm-ex45_alternate-PASS RDF PROV-N XML
prov-dm-ex46_collection-PASS RDF PROV-N XML
prov-dm-ex47_membership-PASS RDF PROV-N XML
prov-dm-ex48_label_attribute-PASS RDF PROV-N XML
prov-dm-ex49_location_attribute-PASS RDF PROV-N XML
prov-dm-ex50_role_attribute-PASS RDF PROV-N XML
prov-dm-ex51_type_attribute-PASS RDF PROV-N XML
prov-dm-ex52_value_attribute-PASS RDF PROV-N XML
prov-dm-ex53_value_attribute-PASS RDF PROV-N XML
prov-dm-ex55_value_time_instant-PASS RDF PROV-N XML
prov-dm-ex56_extensibility_points-PASS RDF PROV-N XML
prov-dm-ex57_extensibility_points-PASS RDF PROV-N XML
prov-dm-ex58_extensibility_points-PASS RDF PROV-N XML
prov-dm-ex_author_view-PASS RDF PROV-N XML
prov-dm-ex_process_view-PASS RDF PROV-N XML
prov-dm-ex_provenance_attribution-PASS RDF PROV-N XML

PROV-O Test Cases

This section enumerates the example test cases from [[PROV-O]].

Table 4. Test cases from [[PROV-O]] examples
Identifier Download links
prov-o-class-Activity-PASS RDF PROV-N XML
prov-o-class-ActivityInfluence-PASS RDF PROV-N XML
prov-o-class-Agent-PASS RDF PROV-N XML
prov-o-class-AgentInfluence-PASS RDF PROV-N XML
prov-o-class-Association-PASS RDF PROV-N XML
prov-o-class-Attribution-PASS RDF PROV-N XML
prov-o-class-Bundle-PASS RDF PROV-N XML
prov-o-class-Collection-PASS RDF PROV-N XML
prov-o-class-Communication-PASS RDF PROV-N XML
prov-o-class-Delegation-PASS RDF PROV-N XML
prov-o-class-Derivation-FAIL RDF PROV-N XML
prov-o-class-EmptyCollection-PASS RDF PROV-N XML
prov-o-class-End-PASS RDF PROV-N XML
prov-o-class-Entity-PASS RDF PROV-N XML
prov-o-class-EntityInfluence-PASS RDF PROV-N XML
prov-o-class-Generation-PASS RDF PROV-N XML
prov-o-class-Influence-PASS RDF PROV-N XML
prov-o-class-InstantaneousEvent-PASS RDF PROV-N XML
prov-o-class-Invalidation-PASS RDF PROV-N XML
prov-o-class-Location-PASS RDF PROV-N XML
prov-o-class-Organization-PASS RDF PROV-N XML
prov-o-class-Person-PASS RDF PROV-N XML
prov-o-class-Plan-PASS RDF PROV-N XML
prov-o-class-PrimarySource-PASS RDF PROV-N XML
prov-o-class-Quotation-PASS RDF PROV-N XML
prov-o-class-Revision-PASS RDF PROV-N XML
prov-o-class-Role-PASS RDF PROV-N XML
prov-o-class-SoftwareAgent-PASS RDF PROV-N XML
prov-o-class-Start-PASS RDF PROV-N XML
prov-o-class-Usage-PASS RDF PROV-N XML
prov-o-property-actedOnBehalfOf-PASS RDF PROV-N XML
prov-o-property-activity-PASS RDF PROV-N XML
prov-o-property-agent-PASS RDF PROV-N XML
prov-o-property-alternateOf-PASS RDF PROV-N XML
prov-o-property-atLocation-PASS RDF PROV-N XML
prov-o-property-atTime-PASS RDF PROV-N XML
prov-o-property-endedAtTime-PASS RDF PROV-N XML
prov-o-property-entity-PASS RDF PROV-N XML
prov-o-property-generated-PASS RDF PROV-N XML
prov-o-property-generatedAtTime-PASS RDF PROV-N XML
prov-o-property-hadActivity-PASS RDF PROV-N XML
prov-o-property-hadGeneration-FAIL RDF PROV-N XML
prov-o-property-hadMember-PASS RDF PROV-N XML
prov-o-property-hadPlan-PASS RDF PROV-N XML
prov-o-property-hadPrimarySource-PASS RDF PROV-N XML
prov-o-property-hadRole-PASS RDF PROV-N XML
prov-o-property-hadUsage-FAIL RDF PROV-N XML
prov-o-property-hasAnchor-PASS RDF PROV-N XML
prov-o-property-influenced-PASS RDF PROV-N XML
prov-o-property-influencer-PASS RDF PROV-N XML
prov-o-property-invalidated-PASS RDF PROV-N XML
prov-o-property-invalidatedAtTime-PASS RDF PROV-N XML
prov-o-property-qualifiedAssociation-PASS RDF PROV-N XML
prov-o-property-qualifiedAttribution-PASS RDF PROV-N XML
prov-o-property-qualifiedCommunication-PASS RDF PROV-N XML
prov-o-property-qualifiedDelegation-PASS RDF PROV-N XML
prov-o-property-qualifiedDerivation-FAIL RDF PROV-N XML
prov-o-property-qualifiedEnd-PASS RDF PROV-N XML
prov-o-property-qualifiedGeneration-PASS RDF PROV-N XML
prov-o-property-qualifiedInfluence-PASS RDF PROV-N XML
prov-o-property-qualifiedInvalidation-PASS RDF PROV-N XML
prov-o-property-qualifiedPrimarySource-PASS RDF PROV-N XML
prov-o-property-qualifiedQuotation-PASS RDF PROV-N XML
prov-o-property-qualifiedRevision-PASS RDF PROV-N XML
prov-o-property-qualifiedStart-PASS RDF PROV-N XML
prov-o-property-qualifiedUsage-PASS RDF PROV-N XML
prov-o-property-removed-PASS RDF PROV-N XML
prov-o-property-specializationOf-PASS RDF PROV-N XML
prov-o-property-startedAtTime-PASS RDF PROV-N XML
prov-o-property-used-PASS RDF PROV-N XML
prov-o-property-wasAssociatedWith-PASS RDF PROV-N XML
prov-o-property-wasAttributedTo-PASS RDF PROV-N XML
prov-o-property-wasDerivedFrom-PASS RDF PROV-N XML
prov-o-property-wasEndedBy-PASS RDF PROV-N XML
prov-o-property-wasGeneratedBy-PASS RDF PROV-N XML
prov-o-property-wasInfluencedBy-PASS RDF PROV-N XML
prov-o-property-wasInformedBy-PASS RDF PROV-N XML
prov-o-property-wasInvalidatedBy-PASS RDF PROV-N XML
prov-o-property-wasQuotedFrom-PASS RDF PROV-N XML
prov-o-property-wasRevisionOf-PASS RDF PROV-N XML
prov-o-property-wasStartedBy-PASS RDF PROV-N XML

Constraint Coverage

Table 5 in this section provides coverage look up for the constraints in [[PROV-CONSTRAINTS]] against the available test cases.

Table 5. Constraint coverage by unit test cases
Identifier Pass Test Cases Fail Test Cases
Constraint 22 (key-object) unification-activity-s1-PASS-c22
unification-activity-s2-PASS-c22
unification-activity-s3-PASS-c22
unification-activity-s4-PASS-c22
unification-attributes-activity-s1-PASS-c22
unification-attributes-entity-s1-PASS-c22
Constraint 23 (key-properties) unification-association-s1-PASS-c23
unification-association-s2-PASS-c23
unification-association-s3-PASS-c23
unification-association-s4-PASS-c23
unification-association-s5-PASS-c23
unification-attributes-end-s1-PASS-c23
unification-attributes-end-s2-PASS-c23
unification-attributes-start-s1-PASS-c23
unification-attributes-start-s2-PASS-c23
unification-attribution-s1-PASS-c23
unification-attribution-s2-PASS-c23
unification-attribution-s3-PASS-c23
unification-attribution-s4-PASS-c23
unification-communication-s1-PASS-c23
unification-communication-s2-PASS-c23
unification-communication-s3-PASS-c23
unification-communication-s4-PASS-c23
unification-delegation-s1-PASS-c23
unification-delegation-s2-PASS-c23
unification-delegation-s3-PASS-c23
unification-delegation-s4-PASS-c23
unification-delegation-s5-PASS-c23
unification-derivation-s1-PASS-c23
unification-derivation-s2-PASS-c23
unification-derivation-s3-PASS-c23
unification-derivation-s4-PASS-c23
unification-derivation-s5-PASS-c23
unification-end-s5-PASS-c23-c27
unification-end-s6-PASS-c23-c27
unification-generation-s1-PASS-c23
unification-generation-s2-PASS-c23
unification-generation-s5-PASS-c23
unification-generation-s6-PASS-c23
unification-generation-s7-PASS-c23-c24
unification-generation-s8-PASS-c23-c24
unification-influence-s1-PASS-c23
unification-invalidation-s1-PASS-c23
unification-invalidation-s2-PASS-c23
unification-invalidation-s5-PASS-c23
unification-invalidation-s6-PASS-c23
unification-invalidation-s7-PASS-c23-c25
unification-invalidation-s8-PASS-c23-c25
unification-start-s5-PASS-c23-c26
unification-start-s6-PASS-c23-c26
unification-start-s7-PASS-c23-c26
unification-start-s8-PASS-c23-c26
unification-start-s9-PASS-c23-c26
unification-usage-f5-PASS-c23
unification-usage-f6-PASS-c23
unification-usage-f7-PASS-c23
unification-usage-s1-PASS-c23
unification-usage-s2-PASS-c23
unification-usage-s5-PASS-c23
unification-usage-s6-PASS-c23
unification-usage-s7-PASS-c23
unification-usage-s8-PASS-c23
unification-association-f1-FAIL-c23
unification-association-f2-FAIL-c23
unification-association-f3-FAIL-c23
unification-association-f4-FAIL-c23
unification-association-f5-FAIL-c23
unification-delegation-f1-FAIL-c23
unification-delegation-f2-FAIL-c23
unification-delegation-f3-FAIL-c23
unification-derivation-f1-FAIL-c23
unification-derivation-f2-FAIL-c23
unification-derivation-f3-FAIL-c23
unification-derivation-f4-FAIL-c23
unification-end-f1-FAIL-c23
unification-end-f2-FAIL-c23
unification-end-f3-FAIL-c23
unification-end-f5-FAIL-c23
unification-generation-f2-FAIL-c23
unification-generation-f3-FAIL-c23
unification-generation-f4-FAIL-c23
unification-generation-f5-FAIL-c23
unification-generation-f6-FAIL-c23
unification-generation-f7-FAIL-c23
unification-invalidation-f2-FAIL-c23
unification-invalidation-f3-FAIL-c23
unification-invalidation-f4-FAIL-c23
unification-invalidation-f5-FAIL-c23-c25
unification-invalidation-f6-FAIL-c23-c25
unification-invalidation-f7-FAIL-c23-c25
unification-start-f1-FAIL-c23
unification-start-f2-FAIL-c23
unification-start-f3-FAIL-c23
unification-start-f5-FAIL-c23
unification-start-f6-FAIL-c23
unification-start-f7-FAIL-c23
unification-start-f8-FAIL-c23
unification-usage-f2-FAIL-c23
unification-usage-f3-FAIL-c23
unification-usage-f4-FAIL-c23
Constraint 24 (unique-generation) unification-generation-s3-PASS-c24
unification-generation-s7-PASS-c23-c24
unification-generation-s8-PASS-c23-c24
unification-generation-f1-FAIL-c24
Constraint 25 (unique-invalidation) unification-invalidation-s3-PASS-c25
unification-invalidation-s7-PASS-c23-c25
unification-invalidation-s8-PASS-c23-c25
unification-invalidation-f1-FAIL-c25
unification-invalidation-f5-FAIL-c23-c25
unification-invalidation-f6-FAIL-c23-c25
unification-invalidation-f7-FAIL-c23-c25
Constraint 26 (unique-wasStartedBy) unification-start-s1-PASS-c26
unification-start-s2-PASS-c26
unification-start-s3-PASS-c26
unification-start-s4-PASS-c26
unification-start-s5-PASS-c23-c26
unification-start-s6-PASS-c23-c26
unification-start-s7-PASS-c23-c26
unification-start-s8-PASS-c23-c26
unification-start-s9-PASS-c23-c26
unification-start-f4-FAIL-c26
Constraint 27 (unique-wasEndedBy) unification-end-s1-PASS-c27
unification-end-s2-PASS-c27
unification-end-s3-PASS-c27
unification-end-s4-PASS-c27
unification-end-s5-PASS-c23-c27
unification-end-s6-PASS-c23-c27
unification-end-f4-FAIL-c27
Constraint 28 (unique-startTime) unification-activity-start-s1-PASS-c28 unification-activity-start-f1-FAIL-c28
Constraint 29 (unique-endTime) unification-activity-end-s1-PASS-c29 unification-activity-end-f1-FAIL-c29
Constraint 30 (start-precedes-end) ordering-activity1-PASS-c30
Constraint 31 (start-start-ordering) ordering-activity4-PASS-c31
Constraint 32 (end-end-ordering) ordering-activity5-PASS-c32
Constraint 33 (usage-within-activity) ordering-activity2-PASS-c33
Constraint 34 (generation-within-activity) ordering-activity3-PASS-c34
Constraint 35 (wasInformedBy-ordering) ordering-communication-PASS-c35
Constraint 36 (generation-precedes-invalidation) ordering-entity1-PASS-c36-c37-c38
ordering-entity2-PASS-c36
Constraint 37 (generation-precedes-usage) ordering-entity1-PASS-c36-c37-c38
Constraint 38 (usage-precedes-invalidation) ordering-entity1-PASS-c36-c37-c38
Constraint 39 (generation-generation-ordering) ordering-entity3-PASS-c39
Constraint 40 (invalidation-invalidation-ordering) ordering-entity4-PASS-c40
Constraint 41 (derivation-usage-generation-ordering) ordering-derivation3-PASS-c41-c42
Constraint 42 (derivation-generation-generation-ordering) ordering-derivation1-PASS-c42
ordering-derivation3-PASS-c41-c42
ordering-specialization3-PASS-c42-c45
ordering-derivation2-FAIL-c42
ordering-specialization4-FAIL-c42-c45
Constraint 43 (wasStartedBy-ordering) ordering-starts1-PASS-c43
Constraint 44 (wasEndedBy-ordering) ordering-ends1-PASS-c44
Constraint 45 (specialization-generation-ordering) ordering-specialization1-PASS-c45
ordering-specialization3-PASS-c42-c45
ordering-specialization4-FAIL-c42-c45
Constraint 46 (specialization-invalidation-ordering) ordering-specialization2-PASS-c46
Constraint 47 (wasAssociatedWith-ordering) ordering-association1-PASS-c47
ordering-association2-PASS-c47
Constraint 48 (wasAttributedTo-ordering) ordering-attribution1-PASS-c48
ordering-attribution2-PASS-c48
Constraint 49 (actedOnBehalfOf-ordering) ordering-delegation1-PASS-c49
ordering-delegation2-PASS-c49
Constraint 50 (typing) type-s1-PASS-c50-c55
type-s2-PASS-c50-c55
type-f1-FAIL-c50-c55
type-f2-FAIL-c50-c55
Constraint 51 (impossible-unspecified-derivation-generation-use) prov-o-property-hadGeneration-FAIL-c51-DM
prov-o-property-hadUsage-FAIL-c51-DM
Constraint 52 (impossible-specialization-reflexive) unification-specialization-f3-FAIL-c52
unification-specialization-f4-FAIL-c52
Constraint 53 (impossible-property-overlap) type-f4-FAIL-c53
Constraint 54 (impossible-object-property-overlap) type-f3-FAIL-c54
Constraint 55 (entity-activity-disjoint) type-s1-PASS-c50-c55
type-s2-PASS-c50-c55
type-f1-FAIL-c50-c55
type-f2-FAIL-c50-c55
unification-bundle-f1-FAIL-c55-c56
Constraint 56 (membership-empty-collection) type-collection-FAIL-c56
unification-bundle-f1-FAIL-c55-c56
Malformed statement(s) unification-association-f6-FAIL-DM
unification-attribution-f1-FAIL-DM
unification-attribution-f2-FAIL-DM
unification-communication-f1-FAIL-DM
unification-communication-f2-FAIL-DM
unification-delegation-f6-FAIL-DM
unification-influence-f1-FAIL-DM
unification-influence-f2-FAIL-DM
unification-membership-f1-FAIL-DM
unification-specialization-f1-FAIL-DM
unification-specialization-f2-FAIL-DM
prov-o-property-hadGeneration-FAIL-c51-DM
prov-o-property-hadUsage-FAIL-c51-DM