prov 2.2.0__tar.gz → 2.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (901) hide show
  1. {prov-2.2.0/src/prov.egg-info → prov-2.3.0}/PKG-INFO +11 -4
  2. {prov-2.2.0 → prov-2.3.0}/README.rst +8 -0
  3. {prov-2.2.0 → prov-2.3.0}/pyproject.toml +42 -50
  4. {prov-2.2.0 → prov-2.3.0}/src/prov/__init__.py +3 -3
  5. {prov-2.2.0 → prov-2.3.0}/src/prov/constants.py +10 -11
  6. {prov-2.2.0 → prov-2.3.0}/src/prov/dot.py +32 -29
  7. {prov-2.2.0 → prov-2.3.0}/src/prov/graph.py +28 -22
  8. {prov-2.2.0 → prov-2.3.0}/src/prov/identifier.py +7 -6
  9. {prov-2.2.0 → prov-2.3.0}/src/prov/model.py +187 -192
  10. {prov-2.2.0 → prov-2.3.0}/src/prov/scripts/compare.py +14 -21
  11. {prov-2.2.0 → prov-2.3.0}/src/prov/scripts/convert.py +22 -27
  12. {prov-2.2.0 → prov-2.3.0}/src/prov/serializers/__init__.py +12 -12
  13. {prov-2.2.0 → prov-2.3.0}/src/prov/serializers/provjson.py +23 -28
  14. {prov-2.2.0 → prov-2.3.0}/src/prov/serializers/provrdf.py +119 -83
  15. {prov-2.2.0 → prov-2.3.0}/src/prov/serializers/provxml.py +37 -44
  16. prov-2.3.0/src/prov/tests/__init__.py +0 -0
  17. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/attributes.py +5 -4
  18. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/examples.py +2 -1
  19. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/test_cli_smoke.py +2 -2
  20. prov-2.3.0/src/prov/tests/test_dot.py +103 -0
  21. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/test_extras.py +47 -4
  22. prov-2.3.0/src/prov/tests/test_graphs.py +118 -0
  23. prov-2.3.0/src/prov/tests/test_identifier.py +54 -0
  24. prov-2.3.0/src/prov/tests/test_json.py +90 -0
  25. prov-2.3.0/src/prov/tests/test_model.py +774 -0
  26. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/test_public_api.py +1 -1
  27. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/test_rdf.py +187 -30
  28. prov-2.3.0/src/prov/tests/test_read.py +150 -0
  29. prov-2.3.0/src/prov/tests/test_scripts.py +306 -0
  30. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/test_xml.py +86 -17
  31. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/utility.py +3 -2
  32. {prov-2.2.0 → prov-2.3.0/src/prov.egg-info}/PKG-INFO +11 -4
  33. {prov-2.2.0 → prov-2.3.0}/src/prov.egg-info/SOURCES.txt +4 -0
  34. {prov-2.2.0 → prov-2.3.0}/src/prov.egg-info/requires.txt +1 -1
  35. prov-2.2.0/src/prov/tests/test_dot.py +0 -37
  36. prov-2.2.0/src/prov/tests/test_graphs.py +0 -19
  37. prov-2.2.0/src/prov/tests/test_json.py +0 -34
  38. prov-2.2.0/src/prov/tests/test_model.py +0 -251
  39. {prov-2.2.0 → prov-2.3.0}/LICENSE +0 -0
  40. {prov-2.2.0 → prov-2.3.0}/setup.cfg +0 -0
  41. /prov-2.2.0/src/prov/scripts/__init__.py → /prov-2.3.0/src/prov/py.typed +0 -0
  42. {prov-2.2.0/src/prov/tests → prov-2.3.0/src/prov/scripts}/__init__.py +0 -0
  43. {prov-2.2.0 → prov-2.3.0}/src/prov/serializers/provn.py +0 -0
  44. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/activity1.json +0 -0
  45. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/activity2.json +0 -0
  46. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/activity3.json +0 -0
  47. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/activity4.json +0 -0
  48. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/activity5.json +0 -0
  49. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/activity6.json +0 -0
  50. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/activity7.json +0 -0
  51. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/activity8.json +0 -0
  52. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/activity9.json +0 -0
  53. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/agent1.json +0 -0
  54. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/agent2.json +0 -0
  55. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/agent3.json +0 -0
  56. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/agent4.json +0 -0
  57. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/agent5.json +0 -0
  58. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/agent6.json +0 -0
  59. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/agent7.json +0 -0
  60. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/agent8.json +0 -0
  61. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/alternate1.json +0 -0
  62. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/association1.json +0 -0
  63. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/association2.json +0 -0
  64. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/association3.json +0 -0
  65. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/association4.json +0 -0
  66. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/association5.json +0 -0
  67. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/association6.json +0 -0
  68. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/association7.json +0 -0
  69. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/association8.json +0 -0
  70. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/association9.json +0 -0
  71. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_activity0.json +0 -0
  72. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_agent0.json +0 -0
  73. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association0.json +0 -0
  74. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr0.json +0 -0
  75. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr1.json +0 -0
  76. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr10.json +0 -0
  77. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr11.json +0 -0
  78. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr12.json +0 -0
  79. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr13.json +0 -0
  80. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr14.json +0 -0
  81. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr15.json +0 -0
  82. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr16.json +0 -0
  83. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr17.json +0 -0
  84. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr18.json +0 -0
  85. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr19.json +0 -0
  86. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr2.json +0 -0
  87. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr20.json +0 -0
  88. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr21.json +0 -0
  89. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr22.json +0 -0
  90. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr23.json +0 -0
  91. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr24.json +0 -0
  92. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr25.json +0 -0
  93. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr26.json +0 -0
  94. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr27.json +0 -0
  95. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr28.json +0 -0
  96. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr29.json +0 -0
  97. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr3.json +0 -0
  98. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr30.json +0 -0
  99. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr31.json +0 -0
  100. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr32.json +0 -0
  101. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr33.json +0 -0
  102. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr34.json +0 -0
  103. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr35.json +0 -0
  104. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr36.json +0 -0
  105. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr37.json +0 -0
  106. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr38.json +0 -0
  107. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr39.json +0 -0
  108. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr4.json +0 -0
  109. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr40.json +0 -0
  110. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr41.json +0 -0
  111. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr42.json +0 -0
  112. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr43.json +0 -0
  113. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr44.json +0 -0
  114. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr5.json +0 -0
  115. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr6.json +0 -0
  116. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr7.json +0 -0
  117. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr8.json +0 -0
  118. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_association_one_role_attr9.json +0 -0
  119. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_attribution0.json +0 -0
  120. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_communication0.json +0 -0
  121. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_delegation0.json +0 -0
  122. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_derivation0.json +0 -0
  123. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_end0.json +0 -0
  124. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity0.json +0 -0
  125. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr0.json +0 -0
  126. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr1.json +0 -0
  127. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr10.json +0 -0
  128. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr11.json +0 -0
  129. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr12.json +0 -0
  130. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr13.json +0 -0
  131. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr14.json +0 -0
  132. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr15.json +0 -0
  133. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr16.json +0 -0
  134. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr17.json +0 -0
  135. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr18.json +0 -0
  136. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr19.json +0 -0
  137. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr2.json +0 -0
  138. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr20.json +0 -0
  139. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr21.json +0 -0
  140. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr22.json +0 -0
  141. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr23.json +0 -0
  142. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr24.json +0 -0
  143. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr25.json +0 -0
  144. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr26.json +0 -0
  145. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr27.json +0 -0
  146. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr28.json +0 -0
  147. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr29.json +0 -0
  148. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr3.json +0 -0
  149. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr30.json +0 -0
  150. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr31.json +0 -0
  151. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr32.json +0 -0
  152. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr33.json +0 -0
  153. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr34.json +0 -0
  154. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr35.json +0 -0
  155. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr36.json +0 -0
  156. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr37.json +0 -0
  157. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr38.json +0 -0
  158. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr39.json +0 -0
  159. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr4.json +0 -0
  160. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr40.json +0 -0
  161. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr41.json +0 -0
  162. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr42.json +0 -0
  163. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr43.json +0 -0
  164. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr44.json +0 -0
  165. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr5.json +0 -0
  166. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr6.json +0 -0
  167. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr7.json +0 -0
  168. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_attr8.json +0 -0
  169. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr0.json +0 -0
  170. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr1.json +0 -0
  171. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr10.json +0 -0
  172. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr11.json +0 -0
  173. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr12.json +0 -0
  174. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr13.json +0 -0
  175. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr14.json +0 -0
  176. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr15.json +0 -0
  177. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr16.json +0 -0
  178. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr17.json +0 -0
  179. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr18.json +0 -0
  180. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr19.json +0 -0
  181. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr2.json +0 -0
  182. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr20.json +0 -0
  183. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr21.json +0 -0
  184. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr22.json +0 -0
  185. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr23.json +0 -0
  186. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr24.json +0 -0
  187. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr25.json +0 -0
  188. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr26.json +0 -0
  189. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr27.json +0 -0
  190. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr28.json +0 -0
  191. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr29.json +0 -0
  192. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr3.json +0 -0
  193. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr30.json +0 -0
  194. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr31.json +0 -0
  195. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr32.json +0 -0
  196. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr33.json +0 -0
  197. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr34.json +0 -0
  198. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr35.json +0 -0
  199. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr36.json +0 -0
  200. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr37.json +0 -0
  201. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr38.json +0 -0
  202. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr39.json +0 -0
  203. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr4.json +0 -0
  204. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr40.json +0 -0
  205. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr41.json +0 -0
  206. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr42.json +0 -0
  207. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr43.json +0 -0
  208. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr44.json +0 -0
  209. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr5.json +0 -0
  210. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr6.json +0 -0
  211. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr7.json +0 -0
  212. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr8.json +0 -0
  213. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_location_attr9.json +0 -0
  214. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr0.json +0 -0
  215. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr1.json +0 -0
  216. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr10.json +0 -0
  217. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr11.json +0 -0
  218. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr12.json +0 -0
  219. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr13.json +0 -0
  220. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr14.json +0 -0
  221. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr15.json +0 -0
  222. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr16.json +0 -0
  223. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr17.json +0 -0
  224. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr18.json +0 -0
  225. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr19.json +0 -0
  226. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr2.json +0 -0
  227. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr20.json +0 -0
  228. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr21.json +0 -0
  229. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr22.json +0 -0
  230. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr23.json +0 -0
  231. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr24.json +0 -0
  232. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr25.json +0 -0
  233. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr26.json +0 -0
  234. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr27.json +0 -0
  235. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr28.json +0 -0
  236. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr29.json +0 -0
  237. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr3.json +0 -0
  238. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr30.json +0 -0
  239. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr31.json +0 -0
  240. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr32.json +0 -0
  241. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr33.json +0 -0
  242. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr34.json +0 -0
  243. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr35.json +0 -0
  244. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr36.json +0 -0
  245. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr37.json +0 -0
  246. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr38.json +0 -0
  247. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr39.json +0 -0
  248. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr4.json +0 -0
  249. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr40.json +0 -0
  250. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr41.json +0 -0
  251. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr42.json +0 -0
  252. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr43.json +0 -0
  253. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr44.json +0 -0
  254. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr5.json +0 -0
  255. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr6.json +0 -0
  256. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr7.json +0 -0
  257. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr8.json +0 -0
  258. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_other_attr9.json +0 -0
  259. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr0.json +0 -0
  260. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr1.json +0 -0
  261. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr10.json +0 -0
  262. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr11.json +0 -0
  263. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr12.json +0 -0
  264. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr13.json +0 -0
  265. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr14.json +0 -0
  266. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr15.json +0 -0
  267. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr16.json +0 -0
  268. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr17.json +0 -0
  269. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr18.json +0 -0
  270. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr19.json +0 -0
  271. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr2.json +0 -0
  272. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr20.json +0 -0
  273. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr21.json +0 -0
  274. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr22.json +0 -0
  275. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr23.json +0 -0
  276. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr24.json +0 -0
  277. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr25.json +0 -0
  278. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr26.json +0 -0
  279. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr27.json +0 -0
  280. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr28.json +0 -0
  281. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr29.json +0 -0
  282. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr3.json +0 -0
  283. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr30.json +0 -0
  284. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr31.json +0 -0
  285. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr32.json +0 -0
  286. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr33.json +0 -0
  287. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr34.json +0 -0
  288. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr35.json +0 -0
  289. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr36.json +0 -0
  290. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr37.json +0 -0
  291. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr38.json +0 -0
  292. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr39.json +0 -0
  293. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr4.json +0 -0
  294. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr40.json +0 -0
  295. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr41.json +0 -0
  296. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr42.json +0 -0
  297. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr43.json +0 -0
  298. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr44.json +0 -0
  299. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr5.json +0 -0
  300. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr6.json +0 -0
  301. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr7.json +0 -0
  302. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr8.json +0 -0
  303. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_entity_one_value_attr9.json +0 -0
  304. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_generation0.json +0 -0
  305. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_influence0.json +0 -0
  306. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_invalidation0.json +0 -0
  307. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_start0.json +0 -0
  308. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attr_usage0.json +0 -0
  309. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attribution1.json +0 -0
  310. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attribution2.json +0 -0
  311. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attribution3.json +0 -0
  312. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attribution4.json +0 -0
  313. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attribution5.json +0 -0
  314. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attribution6.json +0 -0
  315. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attribution7.json +0 -0
  316. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/attribution8.json +0 -0
  317. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/bundle1.json +0 -0
  318. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/bundle2.json +0 -0
  319. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/bundle3.json +0 -0
  320. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/bundle4.json +0 -0
  321. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/communication1.json +0 -0
  322. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/communication2.json +0 -0
  323. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/communication3.json +0 -0
  324. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/communication4.json +0 -0
  325. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/communication5.json +0 -0
  326. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/communication6.json +0 -0
  327. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/communication7.json +0 -0
  328. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/delegation1.json +0 -0
  329. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/delegation2.json +0 -0
  330. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/delegation3.json +0 -0
  331. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/delegation4.json +0 -0
  332. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/delegation5.json +0 -0
  333. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/delegation6.json +0 -0
  334. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/delegation7.json +0 -0
  335. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/delegation8.json +0 -0
  336. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation1.json +0 -0
  337. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation10.json +0 -0
  338. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation11.json +0 -0
  339. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation12.json +0 -0
  340. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation13.json +0 -0
  341. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation2.json +0 -0
  342. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation3.json +0 -0
  343. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation4.json +0 -0
  344. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation5.json +0 -0
  345. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation6.json +0 -0
  346. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation7.json +0 -0
  347. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation8.json +0 -0
  348. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/derivation9.json +0 -0
  349. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end1.json +0 -0
  350. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end10.json +0 -0
  351. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end2.json +0 -0
  352. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end3.json +0 -0
  353. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end4.json +0 -0
  354. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end5.json +0 -0
  355. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end6.json +0 -0
  356. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end7.json +0 -0
  357. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end8.json +0 -0
  358. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/end9.json +0 -0
  359. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity0.json +0 -0
  360. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity1.json +0 -0
  361. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity10.json +0 -0
  362. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity2.json +0 -0
  363. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity3.json +0 -0
  364. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity4.json +0 -0
  365. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity5.json +0 -0
  366. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity6.json +0 -0
  367. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity7.json +0 -0
  368. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity8.json +0 -0
  369. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/entity9.json +0 -0
  370. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/generation1.json +0 -0
  371. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/generation2.json +0 -0
  372. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/generation3.json +0 -0
  373. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/generation4.json +0 -0
  374. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/generation5.json +0 -0
  375. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/generation6.json +0 -0
  376. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/generation7.json +0 -0
  377. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/influence1.json +0 -0
  378. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/influence2.json +0 -0
  379. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/influence3.json +0 -0
  380. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/influence4.json +0 -0
  381. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/influence5.json +0 -0
  382. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/influence6.json +0 -0
  383. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/influence7.json +0 -0
  384. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/invalidation1.json +0 -0
  385. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/invalidation2.json +0 -0
  386. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/invalidation3.json +0 -0
  387. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/invalidation4.json +0 -0
  388. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/invalidation5.json +0 -0
  389. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/invalidation6.json +0 -0
  390. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/invalidation7.json +0 -0
  391. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/member1.json +0 -0
  392. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/member2.json +0 -0
  393. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/member3.json +0 -0
  394. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/mention1.json +0 -0
  395. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/mention2.json +0 -0
  396. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-end1-M.json +0 -0
  397. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-end1-S.json +0 -0
  398. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-end2-M.json +0 -0
  399. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-end2-S.json +0 -0
  400. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-end3-M.json +0 -0
  401. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-end3-S.json +0 -0
  402. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-end4-M.json +0 -0
  403. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-end4-S.json +0 -0
  404. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-generation1-M.json +0 -0
  405. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-generation1-S.json +0 -0
  406. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-generation2-M.json +0 -0
  407. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-generation2-S.json +0 -0
  408. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-invalidation1-M.json +0 -0
  409. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-invalidation1-S.json +0 -0
  410. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-invalidation2-M.json +0 -0
  411. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-invalidation2-S.json +0 -0
  412. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-start1-M.json +0 -0
  413. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-start1-S.json +0 -0
  414. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-start2-M.json +0 -0
  415. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-start2-S.json +0 -0
  416. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-start3-M.json +0 -0
  417. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-start3-S.json +0 -0
  418. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-start4-M.json +0 -0
  419. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-start4-S.json +0 -0
  420. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-usage1-M.json +0 -0
  421. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-usage1-S.json +0 -0
  422. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-usage2-M.json +0 -0
  423. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/scruffy-usage2-S.json +0 -0
  424. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/specialization1.json +0 -0
  425. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start1.json +0 -0
  426. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start10.json +0 -0
  427. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start2.json +0 -0
  428. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start3.json +0 -0
  429. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start4.json +0 -0
  430. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start5.json +0 -0
  431. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start6.json +0 -0
  432. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start7.json +0 -0
  433. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start8.json +0 -0
  434. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/start9.json +0 -0
  435. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/usage1.json +0 -0
  436. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/usage2.json +0 -0
  437. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/usage3.json +0 -0
  438. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/usage4.json +0 -0
  439. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/usage5.json +0 -0
  440. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/usage6.json +0 -0
  441. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/json/usage7.json +0 -0
  442. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/qnames.py +0 -0
  443. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/activity1.ttl +0 -0
  444. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/activity2.ttl +0 -0
  445. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/activity3.ttl +0 -0
  446. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/activity4.ttl +0 -0
  447. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/activity5.ttl +0 -0
  448. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/activity6.ttl +0 -0
  449. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/activity7.ttl +0 -0
  450. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/activity8.ttl +0 -0
  451. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/activity9.ttl +0 -0
  452. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/agent1.ttl +0 -0
  453. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/agent2.ttl +0 -0
  454. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/agent3.ttl +0 -0
  455. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/agent4.ttl +0 -0
  456. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/agent5.ttl +0 -0
  457. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/agent6.ttl +0 -0
  458. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/agent7.ttl +0 -0
  459. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/agent8.ttl +0 -0
  460. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/alternate1.ttl +0 -0
  461. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/association1.ttl +0 -0
  462. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/association2.ttl +0 -0
  463. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/association3.ttl +0 -0
  464. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/association4.ttl +0 -0
  465. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/association5.ttl +0 -0
  466. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/association6.ttl +0 -0
  467. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/association7.ttl +0 -0
  468. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/association8.ttl +0 -0
  469. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/association9.ttl +0 -0
  470. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_activity0.ttl +0 -0
  471. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_agent0.ttl +0 -0
  472. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association0.ttl +0 -0
  473. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr0.ttl +0 -0
  474. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr1.ttl +0 -0
  475. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr10.ttl +0 -0
  476. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr11.ttl +0 -0
  477. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr12.ttl +0 -0
  478. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr13.ttl +0 -0
  479. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr14.ttl +0 -0
  480. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr15.ttl +0 -0
  481. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr16.ttl +0 -0
  482. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr17.ttl +0 -0
  483. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr18.ttl +0 -0
  484. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr19.ttl +0 -0
  485. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr2.ttl +0 -0
  486. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr20.ttl +0 -0
  487. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr21.ttl +0 -0
  488. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr22.ttl +0 -0
  489. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr23.ttl +0 -0
  490. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr24.ttl +0 -0
  491. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr25.ttl +0 -0
  492. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr26.ttl +0 -0
  493. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr27.ttl +0 -0
  494. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr28.ttl +0 -0
  495. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr29.ttl +0 -0
  496. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr3.ttl +0 -0
  497. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr30.ttl +0 -0
  498. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr31.ttl +0 -0
  499. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr32.ttl +0 -0
  500. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr33.ttl +0 -0
  501. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr34.ttl +0 -0
  502. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr35.ttl +0 -0
  503. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr36.ttl +0 -0
  504. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr37.ttl +0 -0
  505. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr38.ttl +0 -0
  506. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr39.ttl +0 -0
  507. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr4.ttl +0 -0
  508. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr40.ttl +0 -0
  509. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr41.ttl +0 -0
  510. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr42.ttl +0 -0
  511. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr43.ttl +0 -0
  512. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr44.ttl +0 -0
  513. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr5.ttl +0 -0
  514. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr6.ttl +0 -0
  515. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr7.ttl +0 -0
  516. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr8.ttl +0 -0
  517. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_association_one_role_attr9.ttl +0 -0
  518. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_attribution0.ttl +0 -0
  519. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_communication0.ttl +0 -0
  520. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_delegation0.ttl +0 -0
  521. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_derivation0.ttl +0 -0
  522. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_end0.ttl +0 -0
  523. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity0.ttl +0 -0
  524. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr0.ttl +0 -0
  525. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr1.ttl +0 -0
  526. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr10.ttl +0 -0
  527. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr11.ttl +0 -0
  528. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr12.ttl +0 -0
  529. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr13.ttl +0 -0
  530. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr14.ttl +0 -0
  531. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr15.ttl +0 -0
  532. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr16.ttl +0 -0
  533. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr17.ttl +0 -0
  534. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr18.ttl +0 -0
  535. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr19.ttl +0 -0
  536. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr2.ttl +0 -0
  537. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr20.ttl +0 -0
  538. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr21.ttl +0 -0
  539. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr22.ttl +0 -0
  540. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr23.ttl +0 -0
  541. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr24.ttl +0 -0
  542. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr25.ttl +0 -0
  543. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr26.ttl +0 -0
  544. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr27.ttl +0 -0
  545. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr28.ttl +0 -0
  546. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr29.ttl +0 -0
  547. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr3.ttl +0 -0
  548. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr30.ttl +0 -0
  549. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr31.ttl +0 -0
  550. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr32.ttl +0 -0
  551. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr33.ttl +0 -0
  552. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr34.ttl +0 -0
  553. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr35.ttl +0 -0
  554. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr36.ttl +0 -0
  555. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr37.ttl +0 -0
  556. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr38.ttl +0 -0
  557. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr39.ttl +0 -0
  558. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr4.ttl +0 -0
  559. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr40.ttl +0 -0
  560. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr41.ttl +0 -0
  561. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr42.ttl +0 -0
  562. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr43.ttl +0 -0
  563. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr44.ttl +0 -0
  564. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr5.ttl +0 -0
  565. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr6.ttl +0 -0
  566. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr7.ttl +0 -0
  567. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_attr8.ttl +0 -0
  568. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr0.ttl +0 -0
  569. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr1.ttl +0 -0
  570. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr10.ttl +0 -0
  571. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr11.ttl +0 -0
  572. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr12.ttl +0 -0
  573. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr13.ttl +0 -0
  574. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr14.ttl +0 -0
  575. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr15.ttl +0 -0
  576. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr16.ttl +0 -0
  577. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr17.ttl +0 -0
  578. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr18.ttl +0 -0
  579. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr19.ttl +0 -0
  580. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr2.ttl +0 -0
  581. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr20.ttl +0 -0
  582. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr21.ttl +0 -0
  583. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr22.ttl +0 -0
  584. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr23.ttl +0 -0
  585. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr24.ttl +0 -0
  586. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr25.ttl +0 -0
  587. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr26.ttl +0 -0
  588. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr27.ttl +0 -0
  589. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr28.ttl +0 -0
  590. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr29.ttl +0 -0
  591. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr3.ttl +0 -0
  592. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr30.ttl +0 -0
  593. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr31.ttl +0 -0
  594. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr32.ttl +0 -0
  595. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr33.ttl +0 -0
  596. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr34.ttl +0 -0
  597. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr35.ttl +0 -0
  598. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr36.ttl +0 -0
  599. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr37.ttl +0 -0
  600. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr38.ttl +0 -0
  601. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr39.ttl +0 -0
  602. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr4.ttl +0 -0
  603. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr40.ttl +0 -0
  604. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr41.ttl +0 -0
  605. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr42.ttl +0 -0
  606. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr43.ttl +0 -0
  607. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr44.ttl +0 -0
  608. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr5.ttl +0 -0
  609. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr6.ttl +0 -0
  610. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr7.ttl +0 -0
  611. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr8.ttl +0 -0
  612. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_location_attr9.ttl +0 -0
  613. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr0.ttl +0 -0
  614. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr1.ttl +0 -0
  615. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr10.ttl +0 -0
  616. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr11.ttl +0 -0
  617. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr12.ttl +0 -0
  618. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr13.ttl +0 -0
  619. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr14.ttl +0 -0
  620. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr15.ttl +0 -0
  621. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr16.ttl +0 -0
  622. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr17.ttl +0 -0
  623. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr18.ttl +0 -0
  624. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr19.ttl +0 -0
  625. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr2.ttl +0 -0
  626. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr20.ttl +0 -0
  627. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr21.ttl +0 -0
  628. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr22.ttl +0 -0
  629. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr23.ttl +0 -0
  630. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr24.ttl +0 -0
  631. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr25.ttl +0 -0
  632. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr26.ttl +0 -0
  633. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr27.ttl +0 -0
  634. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr28.ttl +0 -0
  635. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr29.ttl +0 -0
  636. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr3.ttl +0 -0
  637. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr30.ttl +0 -0
  638. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr31.ttl +0 -0
  639. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr32.ttl +0 -0
  640. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr33.ttl +0 -0
  641. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr34.ttl +0 -0
  642. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr35.ttl +0 -0
  643. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr36.ttl +0 -0
  644. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr37.ttl +0 -0
  645. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr38.ttl +0 -0
  646. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr39.ttl +0 -0
  647. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr4.ttl +0 -0
  648. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr40.ttl +0 -0
  649. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr41.ttl +0 -0
  650. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr42.ttl +0 -0
  651. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr43.ttl +0 -0
  652. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr44.ttl +0 -0
  653. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr5.ttl +0 -0
  654. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr6.ttl +0 -0
  655. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr7.ttl +0 -0
  656. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr8.ttl +0 -0
  657. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_other_attr9.ttl +0 -0
  658. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr0.ttl +0 -0
  659. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr1.ttl +0 -0
  660. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr10.ttl +0 -0
  661. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr11.ttl +0 -0
  662. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr12.ttl +0 -0
  663. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr13.ttl +0 -0
  664. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr14.ttl +0 -0
  665. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr15.ttl +0 -0
  666. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr16.ttl +0 -0
  667. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr17.ttl +0 -0
  668. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr18.ttl +0 -0
  669. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr19.ttl +0 -0
  670. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr2.ttl +0 -0
  671. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr20.ttl +0 -0
  672. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr21.ttl +0 -0
  673. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr22.ttl +0 -0
  674. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr23.ttl +0 -0
  675. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr24.ttl +0 -0
  676. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr25.ttl +0 -0
  677. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr26.ttl +0 -0
  678. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr27.ttl +0 -0
  679. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr28.ttl +0 -0
  680. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr29.ttl +0 -0
  681. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr3.ttl +0 -0
  682. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr30.ttl +0 -0
  683. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr31.ttl +0 -0
  684. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr32.ttl +0 -0
  685. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr33.ttl +0 -0
  686. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr34.ttl +0 -0
  687. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr35.ttl +0 -0
  688. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr36.ttl +0 -0
  689. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr37.ttl +0 -0
  690. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr38.ttl +0 -0
  691. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr39.ttl +0 -0
  692. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr4.ttl +0 -0
  693. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr40.ttl +0 -0
  694. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr41.ttl +0 -0
  695. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr42.ttl +0 -0
  696. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr43.ttl +0 -0
  697. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr44.ttl +0 -0
  698. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr5.ttl +0 -0
  699. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr6.ttl +0 -0
  700. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr7.ttl +0 -0
  701. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr8.ttl +0 -0
  702. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_entity_one_value_attr9.ttl +0 -0
  703. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_generation0.ttl +0 -0
  704. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_influence0.ttl +0 -0
  705. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_invalidation0.ttl +0 -0
  706. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_start0.ttl +0 -0
  707. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attr_usage0.ttl +0 -0
  708. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attribution1.ttl +0 -0
  709. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attribution2.ttl +0 -0
  710. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attribution3.ttl +0 -0
  711. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attribution4.ttl +0 -0
  712. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attribution5.ttl +0 -0
  713. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attribution6.ttl +0 -0
  714. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attribution7.ttl +0 -0
  715. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/attribution8.ttl +0 -0
  716. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/bundle1.trig +0 -0
  717. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/bundle1.ttl +0 -0
  718. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/bundle2.trig +0 -0
  719. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/bundle2.ttl +0 -0
  720. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/bundle3.trig +0 -0
  721. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/bundle3.ttl +0 -0
  722. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/bundle4.trig +0 -0
  723. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/bundle4.ttl +0 -0
  724. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/communication1.ttl +0 -0
  725. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/communication2.ttl +0 -0
  726. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/communication3.ttl +0 -0
  727. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/communication4.ttl +0 -0
  728. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/communication5.ttl +0 -0
  729. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/communication6.ttl +0 -0
  730. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/communication7.ttl +0 -0
  731. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/delegation1.ttl +0 -0
  732. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/delegation2.ttl +0 -0
  733. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/delegation3.ttl +0 -0
  734. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/delegation4.ttl +0 -0
  735. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/delegation5.ttl +0 -0
  736. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/delegation6.ttl +0 -0
  737. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/delegation7.ttl +0 -0
  738. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/delegation8.ttl +0 -0
  739. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation1.ttl +0 -0
  740. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation10.ttl +0 -0
  741. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation11.ttl +0 -0
  742. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation12.ttl +0 -0
  743. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation13.ttl +0 -0
  744. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation2.ttl +0 -0
  745. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation3.ttl +0 -0
  746. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation4.ttl +0 -0
  747. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation5.ttl +0 -0
  748. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation6.ttl +0 -0
  749. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation7.ttl +0 -0
  750. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation8.ttl +0 -0
  751. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/derivation9.ttl +0 -0
  752. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end1.ttl +0 -0
  753. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end10.ttl +0 -0
  754. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end2.ttl +0 -0
  755. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end3.ttl +0 -0
  756. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end4.ttl +0 -0
  757. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end5.ttl +0 -0
  758. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end6.ttl +0 -0
  759. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end7.ttl +0 -0
  760. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end8.ttl +0 -0
  761. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/end9.ttl +0 -0
  762. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity0.ttl +0 -0
  763. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity1.ttl +0 -0
  764. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity10.ttl +0 -0
  765. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity2.ttl +0 -0
  766. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity3.ttl +0 -0
  767. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity4.ttl +0 -0
  768. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity5.ttl +0 -0
  769. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity6.ttl +0 -0
  770. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity7.ttl +0 -0
  771. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity8.ttl +0 -0
  772. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/entity9.ttl +0 -0
  773. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/generation1.ttl +0 -0
  774. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/generation2.ttl +0 -0
  775. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/generation3.ttl +0 -0
  776. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/generation4.ttl +0 -0
  777. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/generation5.ttl +0 -0
  778. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/generation6.ttl +0 -0
  779. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/generation7.ttl +0 -0
  780. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/influence1.ttl +0 -0
  781. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/influence2.ttl +0 -0
  782. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/influence3.ttl +0 -0
  783. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/influence4.ttl +0 -0
  784. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/influence5.ttl +0 -0
  785. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/influence6.ttl +0 -0
  786. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/influence7.ttl +0 -0
  787. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/invalidation1.ttl +0 -0
  788. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/invalidation2.ttl +0 -0
  789. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/invalidation3.ttl +0 -0
  790. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/invalidation4.ttl +0 -0
  791. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/invalidation5.ttl +0 -0
  792. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/invalidation6.ttl +0 -0
  793. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/invalidation7.ttl +0 -0
  794. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/member1.ttl +0 -0
  795. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/member2.ttl +0 -0
  796. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/member3.ttl +0 -0
  797. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/mention1.ttl +0 -0
  798. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/mention2.ttl +0 -0
  799. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-end1-M.ttl +0 -0
  800. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-end1-S.ttl +0 -0
  801. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-end2-M.ttl +0 -0
  802. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-end2-S.ttl +0 -0
  803. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-end3-M.ttl +0 -0
  804. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-end3-S.ttl +0 -0
  805. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-end4-M.ttl +0 -0
  806. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-end4-S.ttl +0 -0
  807. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-generation1-M.ttl +0 -0
  808. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-generation1-S.ttl +0 -0
  809. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-generation2-M.ttl +0 -0
  810. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-generation2-S.ttl +0 -0
  811. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-invalidation1-M.ttl +0 -0
  812. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-invalidation1-S.ttl +0 -0
  813. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-invalidation2-M.ttl +0 -0
  814. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-invalidation2-S.ttl +0 -0
  815. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-start1-M.ttl +0 -0
  816. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-start1-S.ttl +0 -0
  817. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-start2-M.ttl +0 -0
  818. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-start2-S.ttl +0 -0
  819. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-start3-M.ttl +0 -0
  820. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-start3-S.ttl +0 -0
  821. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-start4-M.ttl +0 -0
  822. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-start4-S.ttl +0 -0
  823. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-usage1-M.ttl +0 -0
  824. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-usage1-S.ttl +0 -0
  825. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-usage2-M.ttl +0 -0
  826. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/scruffy-usage2-S.ttl +0 -0
  827. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/specialization1.ttl +0 -0
  828. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start1.ttl +0 -0
  829. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start10.ttl +0 -0
  830. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start2.ttl +0 -0
  831. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start3.ttl +0 -0
  832. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start4.ttl +0 -0
  833. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start5.ttl +0 -0
  834. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start6.ttl +0 -0
  835. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start7.ttl +0 -0
  836. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start8.ttl +0 -0
  837. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/start9.ttl +0 -0
  838. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/usage1.ttl +0 -0
  839. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/usage2.ttl +0 -0
  840. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/usage3.ttl +0 -0
  841. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/usage4.ttl +0 -0
  842. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/usage5.ttl +0 -0
  843. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/usage6.ttl +0 -0
  844. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/rdf/usage7.ttl +0 -0
  845. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/statements.py +0 -0
  846. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/unification/unification-activity-end-s1-PASS-c29.json +0 -0
  847. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/unification/unification-activity-s1-PASS-c22.json +0 -0
  848. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/unification/unification-activity-s2-PASS-c22.json +0 -0
  849. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/unification/unification-activity-s3-PASS-c22.json +0 -0
  850. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/unification/unification-activity-s4-PASS-c22.json +0 -0
  851. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/unification/unification-activity-start-s1-PASS-c28.json +0 -0
  852. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/unification/unification-attributes-activity-s1-PASS-c22.json +0 -0
  853. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/unification/unification-attributes-end-s2-PASS-c23.json +0 -0
  854. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/unification/unification-attributes-entity-s1-PASS-c22.json +0 -0
  855. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_01.xml +0 -0
  856. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_02.xml +0 -0
  857. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_03.xml +0 -0
  858. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_06.xml +0 -0
  859. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_07.xml +0 -0
  860. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_08.xml +0 -0
  861. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_09.xml +0 -0
  862. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_10.xml +0 -0
  863. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_11.xml +0 -0
  864. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_12.xml +0 -0
  865. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_13.xml +0 -0
  866. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_14.xml +0 -0
  867. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_15.xml +0 -0
  868. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_16.xml +0 -0
  869. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_17.xml +0 -0
  870. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_18.xml +0 -0
  871. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_19.xml +0 -0
  872. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_20.xml +0 -0
  873. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_21.xml +0 -0
  874. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_22.xml +0 -0
  875. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_23.xml +0 -0
  876. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_24.xml +0 -0
  877. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_25.xml +0 -0
  878. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_26.xml +0 -0
  879. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_27.xml +0 -0
  880. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_28.xml +0 -0
  881. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_29.xml +0 -0
  882. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_30.xml +0 -0
  883. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_31.xml +0 -0
  884. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_32.xml +0 -0
  885. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_33.xml +0 -0
  886. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_34.xml +0 -0
  887. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_35.xml +0 -0
  888. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_36.xml +0 -0
  889. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_37.xml +0 -0
  890. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_38.xml +0 -0
  891. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_39.xml +0 -0
  892. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_40.xml +0 -0
  893. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/example_41.xml +0 -0
  894. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/namespace_redefined.xml +0 -0
  895. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/namespace_redefined_but_does_not_change.xml +0 -0
  896. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/nested_default_namespace.xml +0 -0
  897. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/pc1.xml +0 -0
  898. {prov-2.2.0 → prov-2.3.0}/src/prov/tests/xml/prov_primer_complete_example.xml +0 -0
  899. {prov-2.2.0 → prov-2.3.0}/src/prov.egg-info/dependency_links.txt +0 -0
  900. {prov-2.2.0 → prov-2.3.0}/src/prov.egg-info/entry_points.txt +0 -0
  901. {prov-2.2.0 → prov-2.3.0}/src/prov.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prov
3
- Version: 2.2.0
3
+ Version: 2.3.0
4
4
  Summary: A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)
5
5
  Author-email: Trung Dong Huynh <trungdong@donggiang.com>
6
6
  License-Expression: MIT
@@ -16,7 +16,6 @@ Classifier: Intended Audience :: Information Technology
16
16
  Classifier: Natural Language :: English
17
17
  Classifier: Operating System :: OS Independent
18
18
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
@@ -28,14 +27,14 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy
28
27
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
29
28
  Classifier: Topic :: Security
30
29
  Classifier: Topic :: System :: Logging
31
- Requires-Python: >=3.9
30
+ Requires-Python: >=3.10
32
31
  Description-Content-Type: text/x-rst
33
32
  License-File: LICENSE
34
33
  Requires-Dist: networkx>=2.0
35
34
  Requires-Dist: pydot>=1.2.0
36
35
  Requires-Dist: python-dateutil>=2.2
37
36
  Provides-Extra: rdf
38
- Requires-Dist: rdflib<7,>=4.2.1; extra == "rdf"
37
+ Requires-Dist: rdflib<8,>=6.0.0; extra == "rdf"
39
38
  Provides-Extra: xml
40
39
  Requires-Dist: lxml>=3.3.5; extra == "xml"
41
40
  Provides-Extra: plot
@@ -99,3 +98,11 @@ The library is undergoing a staged modernisation (tooling, type hints, tests,
99
98
  documentation, standards conformance), a batch of bug fixes, and new format support.
100
99
  See `ROADMAP.md <ROADMAP.md>`_ for the plan and the 2.x API-stability promise.
101
100
  Feedback is welcome on the `issue tracker <https://github.com/trungdong/prov/issues>`_.
101
+
102
+
103
+ Supported versions
104
+ -------------------
105
+
106
+ Only the latest 2.x release is supported; 1.x and earlier no longer receive
107
+ fixes. See `SECURITY.md <SECURITY.md>`_ for the full support table and how to
108
+ report a vulnerability.
@@ -55,3 +55,11 @@ The library is undergoing a staged modernisation (tooling, type hints, tests,
55
55
  documentation, standards conformance), a batch of bug fixes, and new format support.
56
56
  See `ROADMAP.md <ROADMAP.md>`_ for the plan and the 2.x API-stability promise.
57
57
  Feedback is welcome on the `issue tracker <https://github.com/trungdong/prov/issues>`_.
58
+
59
+
60
+ Supported versions
61
+ -------------------
62
+
63
+ Only the latest 2.x release is supported; 1.x and earlier no longer receive
64
+ fixes. See `SECURITY.md <SECURITY.md>`_ for the full support table and how to
65
+ report a vulnerability.
@@ -16,7 +16,6 @@ classifiers = [
16
16
  "Natural Language :: English",
17
17
  "Operating System :: OS Independent",
18
18
  "Programming Language :: Python :: 3",
19
- "Programming Language :: Python :: 3.9",
20
19
  "Programming Language :: Python :: 3.10",
21
20
  "Programming Language :: Python :: 3.11",
22
21
  "Programming Language :: Python :: 3.12",
@@ -29,7 +28,7 @@ classifiers = [
29
28
  "Topic :: Security",
30
29
  "Topic :: System :: Logging",
31
30
  ]
32
- requires-python = ">=3.9"
31
+ requires-python = ">=3.10"
33
32
  dependencies = [
34
33
  "networkx>=2.0",
35
34
  # Supporting graphic outputs (e.g. PNG, SVG, PDF) - a local graphviz is required
@@ -39,7 +38,7 @@ dependencies = [
39
38
 
40
39
  [project.optional-dependencies]
41
40
  rdf = [
42
- "rdflib>=4.2.1,<7",
41
+ "rdflib>=6.0.0,<8",
43
42
  ]
44
43
  xml = [
45
44
  "lxml>=3.3.5",
@@ -67,6 +66,7 @@ build-backend = "setuptools.build_meta"
67
66
  version = {attr = "prov.__version__"}
68
67
 
69
68
  [tool.setuptools.package-data]
69
+ prov = ["py.typed"]
70
70
  "prov.tests" = [
71
71
  "json/*.json",
72
72
  "xml/*.xml",
@@ -77,7 +77,6 @@ version = {attr = "prov.__version__"}
77
77
 
78
78
  [dependency-groups]
79
79
  dev = [
80
- "bumpversion>=0.6.0",
81
80
  "coverage>=7.6.10",
82
81
  "lxml-stubs>=0.5.1",
83
82
  "mypy>=1.19.1",
@@ -85,18 +84,29 @@ dev = [
85
84
  "pytest>=8.4.2",
86
85
  "pytest-cov>=7.1.0",
87
86
  "ruff>=0.15.20",
88
- "setuptools>=75.8.0",
89
- "sphinx>=8.1.3; python_version >= '3.11'",
90
- "sphinx-rtd-theme",
91
- "tox>=4.23.2",
92
87
  "types-networkx>=3.4.2.20250509",
93
88
  "types-python-dateutil>=2.9.0.20260124",
94
- "wheel>=0.45.1",
95
89
  ]
90
+ docs = [
91
+ "sphinx>=8.1.3,<9",
92
+ "sphinx-rtd-theme",
93
+ ]
94
+
95
+ [tool.uv]
96
+ # numpy is a transitive typing dependency (via types-networkx/matplotlib), not
97
+ # something prov imports itself. numpy 2.5 switched its inline stubs to
98
+ # unconditional PEP 695 `type` statements, which mypy refuses to parse once
99
+ # `[tool.mypy] python_version` is below 3.12 (see below) regardless of the
100
+ # interpreter actually running mypy. Cap it below that until numpy's stubs
101
+ # gate the new syntax on `python_version`, or this project's mypy floor rises
102
+ # to 3.12. If a Dependabot bump of matplotlib or types-networkx ever fails to
103
+ # resolve, this pin is the likely cause: lift it, run `uv run mypy src`, and
104
+ # keep it lifted only if mypy stays green.
105
+ constraint-dependencies = ["numpy<2.5"]
96
106
 
97
107
  [tool.ruff]
98
108
  line-length = 88
99
- target-version = "py39"
109
+ target-version = "py310"
100
110
  extend-exclude = ["build"] # dist/.eggs are already in ruff's default excludes
101
111
 
102
112
  [tool.ruff.lint]
@@ -105,20 +115,20 @@ select = [
105
115
  "F", # pyflakes
106
116
  "W", # pycodestyle warnings
107
117
  "B", # flake8-bugbear
108
- "UP", # pyupgrade (3.9-safe)
118
+ "C4", # flake8-comprehensions
119
+ "I", # isort (import sorting)
120
+ "SIM", # flake8-simplify
121
+ "UP", # pyupgrade (3.10-safe)
122
+ "RUF", # ruff-specific rules
109
123
  ]
110
124
  ignore = [
111
125
  "E203", # whitespace before ':' (black/ruff-format compatible)
112
126
  "E501", # line length handled by the formatter
113
- # These two pyupgrade rules only offer *unsafe* fixes when targeting py39
114
- # (ruff can't prove nothing relies on runtime evaluation of the old
115
- # syntax, e.g. via typing.get_type_hints()), so they fire on almost every
116
- # annotated/`%`-formatted line in the project without an autofix.
117
- # Deferred to a dedicated follow-up rather than mass hand-editing here.
118
- "UP045", # non-pep604-annotation-optional (`Optional[X]` -> `X | None`)
119
- "UP031", # printf-string-formatting (`%` -> `.format()`/f-string)
120
127
  ]
121
128
 
129
+ [tool.ruff.lint.isort]
130
+ combine-as-imports = true # keep multi-name `X as X` re-export blocks compact
131
+
122
132
  [tool.ruff.lint.per-file-ignores]
123
133
  # These modules intentionally re-export everything from another module with
124
134
  # `import *`; pyflakes can't tell which of the resulting names are "used".
@@ -143,47 +153,29 @@ python_classes = []
143
153
  [tool.coverage.run]
144
154
  branch = true
145
155
  source = ["prov"]
146
- omit = ["*/tests*"]
147
-
148
- [tool.coverage.paths]
149
- source = [
150
- "src/prov",
151
- ".tox/*/lib/python*/site-packages/prov",
152
- ".tox/pypy*/site-packages/prov",
153
- ]
156
+ omit = ["*/prov/tests/*"]
154
157
 
155
158
  [tool.coverage.report]
159
+ # Coverage ratchet (docs/test-gap-checklist.md). T13 fixed the `omit` glob
160
+ # above (it previously did not exclude src/prov/tests/, inflating TOTAL by
161
+ # ~3.8pt with near-fully-covered test code) and closed the remaining
162
+ # checklist gaps; the honest package-only TOTAL measured after that work is
163
+ # 97.42%, rounded down to this floor. Never lower without a documented
164
+ # reason. Remaining misses are individually annotated as "defer" in the
165
+ # checklist (dead/defensive branches unreachable via the public API, plus
166
+ # the matplotlib-requiring interactive plot() path not installed in the
167
+ # test env).
168
+ fail_under = 97
156
169
  exclude_lines = [
157
170
  "pragma: no cover",
158
171
  "def __repr__",
159
172
  "raise AssertionError",
160
173
  "raise NotImplementedError",
161
174
  "if __name__ == .__main__.:",
175
+ "if TYPE_CHECKING:",
162
176
  ]
163
177
 
164
178
  [tool.mypy]
165
- python_version = "3.12"
179
+ python_version = "3.10"
180
+ strict = true
166
181
  exclude = ["^src/prov/tests/"]
167
-
168
- [[tool.mypy.overrides]]
169
- module = "prov.*"
170
- disallow_untyped_defs = true
171
- check_untyped_defs = true
172
-
173
- [[tool.mypy.overrides]]
174
- # rdflib ships its own inline types (py.typed) that are far stricter than
175
- # this module's historic behaviour of freely mixing rdflib term types
176
- # (URIRef/BNode/Literal/Node) with prov.model's QualifiedName/str
177
- # identifiers at runtime -- which works correctly (see the RDF round-trip
178
- # tests in prov.tests.test_rdf). Untangling that is a real typing refactor,
179
- # deferred to a follow-up; suppress the resulting noise for this module only
180
- # rather than scatter dozens of individually-justified ignores.
181
- module = "prov.serializers.provrdf"
182
- disable_error_code = ["arg-type", "assignment", "operator", "index"]
183
-
184
- [[tool.mypy.overrides]]
185
- # pydot.Dot.create() is annotated to return `str`, but its own docstring
186
- # says (and it actually does, for binary Graphviz formats) return `bytes`;
187
- # this is an inaccuracy in pydot's stub, not a bug in this module.
188
- module = "prov.scripts.convert"
189
- disable_error_code = ["arg-type"]
@@ -1,4 +1,5 @@
1
1
  from __future__ import annotations # needed for | type annotations in Python < 3.10
2
+
2
3
  import os
3
4
  from typing import TYPE_CHECKING
4
5
 
@@ -7,7 +8,7 @@ if TYPE_CHECKING:
7
8
 
8
9
  __author__ = "Trung Dong Huynh"
9
10
  __email__ = "trungdong@donggiang.com"
10
- __version__ = "2.2.0"
11
+ __version__ = "2.3.0"
11
12
 
12
13
  __all__ = ["Error", "model", "read"]
13
14
 
@@ -19,7 +20,7 @@ class Error(Exception):
19
20
 
20
21
 
21
22
  def read(
22
- source: str | bytes | os.PathLike, format: str | None = None
23
+ source: str | bytes | os.PathLike[str], format: str | None = None
23
24
  ) -> ProvDocument | None:
24
25
  """
25
26
  Convenience function returning a ProvDocument instance.
@@ -35,7 +36,6 @@ def read(
35
36
  """
36
37
  # Lazy imports to not globber the namespace.
37
38
  from prov.model import ProvDocument
38
-
39
39
  from prov.serializers import Registry
40
40
 
41
41
  Registry.load_serializers()
@@ -166,17 +166,16 @@ PROV_ATTRIBUTE_LITERALS = {PROV_ATTR_TIME, PROV_ATTR_STARTTIME, PROV_ATTR_ENDTIM
166
166
 
167
167
  # Set of formal attributes of PROV records
168
168
  PROV_ATTRIBUTES = PROV_ATTRIBUTE_QNAMES | PROV_ATTRIBUTE_LITERALS
169
- PROV_RECORD_ATTRIBUTES = list((attr, str(attr)) for attr in PROV_ATTRIBUTES)
170
-
171
- PROV_RECORD_IDS_MAP = dict(
172
- (PROV_N_MAP[rec_type_id], rec_type_id) for rec_type_id in PROV_N_MAP
173
- )
174
- PROV_ID_ATTRIBUTES_MAP = dict(
175
- (prov_id, attribute) for (prov_id, attribute) in PROV_RECORD_ATTRIBUTES
176
- )
177
- PROV_ATTRIBUTES_ID_MAP = dict(
178
- (attribute, prov_id) for (prov_id, attribute) in PROV_RECORD_ATTRIBUTES
179
- )
169
+ PROV_RECORD_ATTRIBUTES = [(attr, str(attr)) for attr in PROV_ATTRIBUTES]
170
+
171
+ PROV_RECORD_IDS_MAP = {
172
+ PROV_N_MAP[rec_type_id]: rec_type_id for rec_type_id in PROV_N_MAP
173
+ }
174
+ PROV_ID_ATTRIBUTES_MAP = dict(PROV_RECORD_ATTRIBUTES)
175
+ # inverse of PROV_ID_ATTRIBUTES_MAP: maps each attribute name back to its QName
176
+ PROV_ATTRIBUTES_ID_MAP = {
177
+ attribute: prov_id for (prov_id, attribute) in PROV_RECORD_ATTRIBUTES
178
+ }
180
179
 
181
180
  # Extra definition for convenience
182
181
  PROV_TYPE = PROV["type"]
@@ -13,44 +13,46 @@ References:
13
13
  """
14
14
 
15
15
  from __future__ import annotations # needed for | type annotations in Python < 3.10
16
+
16
17
  from datetime import datetime
17
18
  from html import escape
18
- from typing import Any, Optional
19
+ from typing import Any
20
+
21
+ import pydot
19
22
 
20
23
  from prov.graph import INFERRED_ELEMENT_CLASS
21
24
  from prov.identifier import QualifiedName
22
25
  from prov.model import (
23
- ProvEntity,
24
- ProvActivity,
25
- ProvAgent,
26
- ProvBundle,
27
26
  PROV_ACTIVITY,
28
27
  PROV_AGENT,
29
28
  PROV_ALTERNATE,
30
29
  PROV_ASSOCIATION,
30
+ PROV_ATTRIBUTE_QNAMES,
31
31
  PROV_ATTRIBUTION,
32
32
  PROV_BUNDLE,
33
33
  PROV_COMMUNICATION,
34
- PROV_DERIVATION,
35
34
  PROV_DELEGATION,
35
+ PROV_DERIVATION,
36
+ PROV_END,
36
37
  PROV_ENTITY,
37
38
  PROV_GENERATION,
38
39
  PROV_INFLUENCE,
39
40
  PROV_INVALIDATION,
40
- PROV_END,
41
41
  PROV_MEMBERSHIP,
42
42
  PROV_MENTION,
43
43
  PROV_SPECIALIZATION,
44
44
  PROV_START,
45
45
  PROV_USAGE,
46
46
  Identifier,
47
- PROV_ATTRIBUTE_QNAMES,
48
- sorted_attributes,
47
+ ProvActivity,
48
+ ProvAgent,
49
+ ProvBundle,
50
+ ProvElement,
51
+ ProvEntity,
49
52
  ProvException,
50
53
  ProvRecord,
51
- ProvElement,
54
+ sorted_attributes,
52
55
  )
53
- import pydot # type: ignore[import]
54
56
 
55
57
  __author__ = "Trung Dong Huynh"
56
58
  __email__ = "trungdong@donggiang.com"
@@ -89,7 +91,7 @@ GENERIC_NODE_STYLE = {
89
91
  "fillcolor": "lightgray",
90
92
  "color": "dimgray",
91
93
  },
92
- } # type: dict[Optional[type[ProvElement | ProvBundle]], dict[str, Any]]
94
+ } # type: dict[type[ProvElement | ProvBundle] | None, dict[str, Any]]
93
95
  # Value type is widened to Any (rather than str) because mypy treats a
94
96
  # dict[str, str] unpacked via `**style` as needing to satisfy *every*
95
97
  # named parameter pydot.Node/Edge/Cluster declare (e.g. `obj_dict`), not
@@ -180,7 +182,7 @@ ANNOTATION_END_ROW = " </TABLE>>"
180
182
  def htlm_link_if_uri(value: Any) -> str:
181
183
  try:
182
184
  uri = value.uri
183
- return '<a href="%s">%s</a>' % (uri, str(value))
185
+ return f'<a href="{uri}">{value!s}</a>'
184
186
  except AttributeError:
185
187
  return str(value)
186
188
 
@@ -220,11 +222,11 @@ def prov_to_dot(
220
222
  def _bundle_to_dot(dot: pydot.Dot | pydot.Cluster, bundle: ProvBundle) -> None:
221
223
  def _attach_attribute_annotation(node: pydot.Node, record: ProvRecord) -> None:
222
224
  # Adding a node to show all attributes
223
- attributes = list(
225
+ attributes = [
224
226
  (attr_name, value)
225
227
  for attr_name, value in record.attributes
226
228
  if attr_name not in PROV_ATTRIBUTE_QNAMES
227
- )
229
+ ]
228
230
 
229
231
  if not attributes:
230
232
  return # No attribute to display
@@ -238,7 +240,7 @@ def prov_to_dot(
238
240
  % (
239
241
  attr.uri,
240
242
  escape(str(attr)),
241
- ' href="%s"' % value.uri if isinstance(value, Identifier) else "",
243
+ f' href="{value.uri}"' if isinstance(value, Identifier) else "",
242
244
  escape(
243
245
  str(value)
244
246
  if not isinstance(value, datetime)
@@ -250,7 +252,7 @@ def prov_to_dot(
250
252
  ann_rows.append(ANNOTATION_END_ROW)
251
253
  count[3] += 1
252
254
  annotations = pydot.Node(
253
- "ann%d" % count[3], label="\n".join(ann_rows), **ANNOTATION_STYLE
255
+ f"ann{count[3]}", label="\n".join(ann_rows), **ANNOTATION_STYLE
254
256
  )
255
257
  dot.add_node(annotations)
256
258
  dot.add_edge(pydot.Edge(annotations, node, **ANNOTATION_LINK_STYLE))
@@ -258,13 +260,13 @@ def prov_to_dot(
258
260
  def _add_bundle(bundle: ProvBundle) -> pydot.Cluster:
259
261
  count[2] += 1
260
262
  subdot = pydot.Cluster(
261
- graph_name="c%d" % count[2],
263
+ graph_name=f"c{count[2]}",
262
264
  URL=f'"{bundle.identifier.uri}"', # type: ignore[union-attr]
263
265
  )
264
266
  # set_label is generated at runtime by pydot via setattr() for
265
267
  # every Graphviz attribute (see pydot.core.__generate_attribute_methods),
266
268
  # so it exists on Cluster instances but isn't visible to mypy.
267
- subdot.set_label('"%s"' % str(bundle.identifier)) # type: ignore[attr-defined]
269
+ subdot.set_label(f'"{bundle.identifier!s}"') # type: ignore[attr-defined]
268
270
  _bundle_to_dot(subdot, bundle)
269
271
  # pydot types Graph.add_subgraph() as accepting only a Subgraph,
270
272
  # but Cluster (a Graph subclass, not a Subgraph subclass) is the
@@ -274,7 +276,7 @@ def prov_to_dot(
274
276
 
275
277
  def _add_node(record: ProvRecord) -> pydot.Node:
276
278
  count[0] += 1
277
- node_id = "n%d" % count[0]
279
+ node_id = f"n{count[0]}"
278
280
  if use_labels:
279
281
  if record.label == record.identifier:
280
282
  node_label = f'"{record.label}"'
@@ -292,7 +294,7 @@ def prov_to_dot(
292
294
 
293
295
  uri = record.identifier.uri # type: ignore[union-attr]
294
296
  style = DOT_PROV_STYLE[record.get_type()]
295
- node = pydot.Node(node_id, label=node_label, URL='"%s"' % uri, **style)
297
+ node = pydot.Node(node_id, label=node_label, URL=f'"{uri}"', **style)
296
298
  node_map[uri] = node
297
299
  dot.add_node(node)
298
300
 
@@ -301,29 +303,29 @@ def prov_to_dot(
301
303
  return node
302
304
 
303
305
  def _add_generic_node(
304
- qname: QualifiedName, prov_type: Optional[type[ProvElement]] = None
306
+ qname: QualifiedName, prov_type: type[ProvElement] | None = None
305
307
  ) -> pydot.Node:
306
308
  count[0] += 1
307
- node_id = "n%d" % count[0]
309
+ node_id = f"n{count[0]}"
308
310
  node_label = f'"{qname}"'
309
311
 
310
312
  uri = qname.uri
311
313
  style = GENERIC_NODE_STYLE[prov_type] if prov_type else DOT_PROV_STYLE[0]
312
- node = pydot.Node(node_id, label=node_label, URL='"%s"' % uri, **style)
314
+ node = pydot.Node(node_id, label=node_label, URL=f'"{uri}"', **style)
313
315
  node_map[uri] = node
314
316
  dot.add_node(node)
315
317
  return node
316
318
 
317
319
  def _get_bnode() -> pydot.Node:
318
320
  count[1] += 1
319
- bnode_id = "b%d" % count[1]
321
+ bnode_id = f"b{count[1]}"
320
322
  bnode = pydot.Node(bnode_id, label='""', shape="point", color="gray")
321
323
  dot.add_node(bnode)
322
324
  return bnode
323
325
 
324
326
  def _get_node(
325
- qname: Optional[QualifiedName],
326
- prov_type: Optional[type[ProvElement]] = None,
327
+ qname: QualifiedName | None,
328
+ prov_type: type[ProvElement] | None = None,
327
329
  ) -> pydot.Node:
328
330
  if qname is None:
329
331
  return _get_bnode()
@@ -358,7 +360,8 @@ def prov_to_dot(
358
360
  (attr_name, value)
359
361
  for attr_name, value in rec.formal_attributes
360
362
  if attr_name in PROV_ATTRIBUTE_QNAMES
361
- )
363
+ ),
364
+ strict=False,
362
365
  )
363
366
  inferred_types = list(map(INFERRED_ELEMENT_CLASS.get, attr_names))
364
367
  other_attributes = [
@@ -395,7 +398,7 @@ def prov_to_dot(
395
398
  style["color"] = "gray" # all remaining segment to be gray
396
399
  style["fontcolor"] = "dimgray" # text in darker gray
397
400
  for attr_name, node, inferred_type in zip(
398
- attr_names[2:], nodes[2:], inferred_types[2:]
401
+ attr_names[2:], nodes[2:], inferred_types[2:], strict=False
399
402
  ):
400
403
  if node is not None:
401
404
  style["label"] = attr_name.localpart
@@ -1,32 +1,38 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any
4
+
1
5
  import networkx as nx
6
+
7
+ from prov.identifier import QualifiedName
2
8
  from prov.model import (
3
- ProvDocument,
4
- ProvRecord,
5
- ProvElement,
6
- ProvEntity,
7
- ProvActivity,
8
- ProvAgent,
9
- ProvRelation,
10
- PROV_ATTR_ENTITY,
11
9
  PROV_ATTR_ACTIVITY,
12
10
  PROV_ATTR_AGENT,
13
- PROV_ATTR_TRIGGER,
14
- PROV_ATTR_GENERATED_ENTITY,
15
- PROV_ATTR_USED_ENTITY,
16
- PROV_ATTR_DELEGATE,
17
- PROV_ATTR_RESPONSIBLE,
18
- PROV_ATTR_SPECIFIC_ENTITY,
19
- PROV_ATTR_GENERAL_ENTITY,
20
11
  PROV_ATTR_ALTERNATE1,
21
12
  PROV_ATTR_ALTERNATE2,
13
+ PROV_ATTR_BUNDLE,
22
14
  PROV_ATTR_COLLECTION,
23
- PROV_ATTR_INFORMED,
15
+ PROV_ATTR_DELEGATE,
16
+ PROV_ATTR_ENDER,
17
+ PROV_ATTR_ENTITY,
18
+ PROV_ATTR_GENERAL_ENTITY,
19
+ PROV_ATTR_GENERATED_ENTITY,
24
20
  PROV_ATTR_INFORMANT,
25
- PROV_ATTR_BUNDLE,
21
+ PROV_ATTR_INFORMED,
26
22
  PROV_ATTR_PLAN,
27
- PROV_ATTR_ENDER,
23
+ PROV_ATTR_RESPONSIBLE,
24
+ PROV_ATTR_SPECIFIC_ENTITY,
28
25
  PROV_ATTR_STARTER,
26
+ PROV_ATTR_TRIGGER,
27
+ PROV_ATTR_USED_ENTITY,
28
+ ProvActivity,
29
+ ProvAgent,
29
30
  ProvBundle,
31
+ ProvDocument,
32
+ ProvElement,
33
+ ProvEntity,
34
+ ProvRecord,
35
+ ProvRelation,
30
36
  )
31
37
 
32
38
  __author__ = "Trung Dong Huynh"
@@ -56,7 +62,7 @@ INFERRED_ELEMENT_CLASS = {
56
62
  }
57
63
 
58
64
 
59
- def prov_to_graph(prov_document: ProvDocument) -> nx.MultiDiGraph:
65
+ def prov_to_graph(prov_document: ProvDocument) -> nx.MultiDiGraph[Any]:
60
66
  """
61
67
  Convert a :class:`~prov.model.ProvDocument` to a `MultiDiGraph
62
68
  <https://networkx.github.io/documentation/stable/reference/classes/multidigraph.html>`_
@@ -64,9 +70,9 @@ def prov_to_graph(prov_document: ProvDocument) -> nx.MultiDiGraph:
64
70
 
65
71
  :param prov_document: The :class:`~prov.model.ProvDocument` instance to convert.
66
72
  """
67
- g = nx.MultiDiGraph() # type: nx.MultiDiGraph
73
+ g: nx.MultiDiGraph[Any] = nx.MultiDiGraph()
68
74
  unified = prov_document.unified()
69
- node_map = dict()
75
+ node_map: dict[QualifiedName | None, ProvRecord] = {}
70
76
  for element in unified.get_records(ProvElement):
71
77
  g.add_node(element)
72
78
  node_map[element.identifier] = element
@@ -89,7 +95,7 @@ def prov_to_graph(prov_document: ProvDocument) -> nx.MultiDiGraph:
89
95
  return g
90
96
 
91
97
 
92
- def graph_to_prov(g: nx.MultiDiGraph) -> ProvDocument:
98
+ def graph_to_prov(g: nx.MultiDiGraph[Any]) -> ProvDocument:
93
99
  """
94
100
  Convert a `MultiDiGraph
95
101
  <https://networkx.github.io/documentation/stable/reference/classes/multidigraph.html>`_
@@ -1,4 +1,5 @@
1
1
  from __future__ import annotations # needed for | type annotations in Python < 3.10
2
+
2
3
  from typing import Any
3
4
 
4
5
  __author__ = "Trung Dong Huynh"
@@ -39,7 +40,7 @@ class Identifier:
39
40
  return hash((self.uri, self.__class__))
40
41
 
41
42
  def __repr__(self) -> str:
42
- return "<%s: %s>" % (self.__class__.__name__, self._uri)
43
+ return f"<{self.__class__.__name__}: {self._uri}>"
43
44
 
44
45
  def provn_representation(self) -> str:
45
46
  """
@@ -48,7 +49,7 @@ class Identifier:
48
49
  Returns:
49
50
  str: The PROV-N representation of the URI.
50
51
  """
51
- return '"%s" %%%% xsd:anyURI' % self._uri
52
+ return f'"{self._uri}" %% xsd:anyURI'
52
53
 
53
54
 
54
55
  class QualifiedName(Identifier):
@@ -94,14 +95,14 @@ class QualifiedName(Identifier):
94
95
  return self._str
95
96
 
96
97
  def __repr__(self) -> str:
97
- return "<%s: %s>" % (self.__class__.__name__, self._str)
98
+ return f"<{self.__class__.__name__}: {self._str}>"
98
99
 
99
100
  def __hash__(self) -> int:
100
101
  return hash(self.uri)
101
102
 
102
103
  def provn_representation(self) -> str:
103
104
  """PROV-N representation of qualified name in a string."""
104
- return "'%s'" % self._str
105
+ return f"'{self._str}'"
105
106
 
106
107
 
107
108
  class Namespace:
@@ -118,7 +119,7 @@ class Namespace:
118
119
  raise ValueError("Not a valid URI to create a namespace.")
119
120
  self._prefix = prefix
120
121
  self._uri = uri
121
- self._cache: dict[str, QualifiedName] = dict()
122
+ self._cache: dict[str, QualifiedName] = {}
122
123
 
123
124
  @property
124
125
  def uri(self) -> str:
@@ -180,7 +181,7 @@ class Namespace:
180
181
  return hash((self._uri, self._prefix))
181
182
 
182
183
  def __repr__(self) -> str:
183
- return "<%s: %s {%s}>" % (self.__class__.__name__, self._prefix, self._uri)
184
+ return f"<{self.__class__.__name__}: {self._prefix} {{{self._uri}}}>"
184
185
 
185
186
  def __getitem__(self, localpart: str) -> QualifiedName:
186
187
  if localpart in self._cache: