oldaplib 0.3.13__tar.gz → 0.3.14__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 (164) hide show
  1. {oldaplib-0.3.13 → oldaplib-0.3.14}/PKG-INFO +1 -1
  2. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/ontologies/shared.trig +40 -42
  3. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/objectfactory.py +21 -8
  4. oldaplib-0.3.14/oldaplib/src/version.py +1 -0
  5. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_objectfactory.py +21 -2
  6. {oldaplib-0.3.13 → oldaplib-0.3.14}/pyproject.toml +1 -1
  7. oldaplib-0.3.13/oldaplib/src/version.py +0 -1
  8. {oldaplib-0.3.13 → oldaplib-0.3.14}/README.md +0 -0
  9. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/__init__.py +0 -0
  10. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/apps/load_list.py +0 -0
  11. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/ontologies/admin-testing.trig +0 -0
  12. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/ontologies/admin.trig +0 -0
  13. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/ontologies/example.trig +0 -0
  14. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/ontologies/oldap.trig +0 -0
  15. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/ontologies/oldap.ttl +0 -0
  16. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/ontologies/standard/.gitsave +0 -0
  17. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/__init__.py +0 -0
  18. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/cachesingleton.py +0 -0
  19. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/connection.py +0 -0
  20. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/datamodel.py +0 -0
  21. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/dtypes/__init__.py +0 -0
  22. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/dtypes/bnode.py +0 -0
  23. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/dtypes/languagein.py +0 -0
  24. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/dtypes/namespaceiri.py +0 -0
  25. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/dtypes/rdfset.py +0 -0
  26. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/dtypes/xsdset.py +0 -0
  27. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/__init__.py +0 -0
  28. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/action.py +0 -0
  29. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/adminpermissions.py +0 -0
  30. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/attributeclass.py +0 -0
  31. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/datapermissions.py +0 -0
  32. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/externalontologyattr.py +0 -0
  33. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/haspropertyattr.py +0 -0
  34. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/language.py +0 -0
  35. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/oldaplistattr.py +0 -0
  36. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/oldaplistnodeattr.py +0 -0
  37. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/owlpropertytype.py +0 -0
  38. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/permissionsetattr.py +0 -0
  39. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/projectattr.py +0 -0
  40. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/propertyclassattr.py +0 -0
  41. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/resourceclassattr.py +0 -0
  42. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/sparql_result_format.py +0 -0
  43. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/userattr.py +0 -0
  44. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/enums/xsd_datatypes.py +0 -0
  45. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/externalontology.py +0 -0
  46. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/globalconfig.py +0 -0
  47. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/hasproperty.py +0 -0
  48. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/Notify.py +0 -0
  49. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/__init__.py +0 -0
  50. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/attributechange.py +0 -0
  51. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/context.py +0 -0
  52. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/convert2datatype.py +0 -0
  53. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/irincname.py +0 -0
  54. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/json_encoder.py +0 -0
  55. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/langstring.py +0 -0
  56. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/numeric.py +0 -0
  57. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/observable_dict.py +0 -0
  58. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/observable_set.py +0 -0
  59. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/oldaperror.py +0 -0
  60. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/query_processor.py +0 -0
  61. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/semantic_version.py +0 -0
  62. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/serializeableset.py +0 -0
  63. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/serializer.py +0 -0
  64. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/singletonmeta.py +0 -0
  65. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/helpers/tools.py +0 -0
  66. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/iconnection.py +0 -0
  67. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/in_project.py +0 -0
  68. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/model.py +0 -0
  69. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/oldaplist.py +0 -0
  70. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/oldaplist_helpers.py +0 -0
  71. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/oldaplistnode.py +0 -0
  72. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/oldaplogging.py +0 -0
  73. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/permissionset.py +0 -0
  74. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/project.py +0 -0
  75. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/propertyclass.py +0 -0
  76. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/resourceclass.py +0 -0
  77. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/user.py +0 -0
  78. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/userdataclass.py +0 -0
  79. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/__init__.py +0 -0
  80. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/floatingpoint.py +0 -0
  81. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/iri.py +0 -0
  82. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd.py +0 -0
  83. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_anyuri.py +0 -0
  84. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_base64binary.py +0 -0
  85. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_boolean.py +0 -0
  86. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_byte.py +0 -0
  87. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_date.py +0 -0
  88. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_datetime.py +0 -0
  89. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_datetimestamp.py +0 -0
  90. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_decimal.py +0 -0
  91. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_double.py +0 -0
  92. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_duration.py +0 -0
  93. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_float.py +0 -0
  94. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_gday.py +0 -0
  95. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_gmonth.py +0 -0
  96. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_gmonthday.py +0 -0
  97. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_gyear.py +0 -0
  98. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_gyearmonth.py +0 -0
  99. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_hexbinary.py +0 -0
  100. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_id.py +0 -0
  101. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_idref.py +0 -0
  102. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_int.py +0 -0
  103. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_integer.py +0 -0
  104. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_language.py +0 -0
  105. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_long.py +0 -0
  106. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_name.py +0 -0
  107. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_ncname.py +0 -0
  108. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_negativeinteger.py +0 -0
  109. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_nmtoken.py +0 -0
  110. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_nonnegativeinteger.py +0 -0
  111. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_nonpositiveinteger.py +0 -0
  112. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_normalizedstring.py +0 -0
  113. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_positiveinteger.py +0 -0
  114. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_qname.py +0 -0
  115. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_short.py +0 -0
  116. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_string.py +0 -0
  117. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_time.py +0 -0
  118. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_token.py +0 -0
  119. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_unsignedbyte.py +0 -0
  120. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_unsignedint.py +0 -0
  121. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_unsignedlong.py +0 -0
  122. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/src/xsd/xsd_unsignedshort.py +0 -0
  123. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/__init__.py +0 -0
  124. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_cache.py +0 -0
  125. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_connection.py +0 -0
  126. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_context.py +0 -0
  127. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_datamodel.py +0 -0
  128. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_dtypes.py +0 -0
  129. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_externalontologies.py +0 -0
  130. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_hasproperty.py +0 -0
  131. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_in_project.py +0 -0
  132. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_langstring.py +0 -0
  133. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_language_in.py +0 -0
  134. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_observable_dict.py +0 -0
  135. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_observable_set.py +0 -0
  136. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_oldaplist.py +0 -0
  137. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_oldaplist_helpers.py +0 -0
  138. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_oldaplistnode.py +0 -0
  139. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_permissionset.py +0 -0
  140. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_project.py +0 -0
  141. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_propertyclass.py +0 -0
  142. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_resourceclass.py +0 -0
  143. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_semantic_version.py +0 -0
  144. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_user.py +0 -0
  145. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/test/test_xsd_datatypes.py +0 -0
  146. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/Gender.yaml +0 -0
  147. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/collections_type.yaml +0 -0
  148. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/connection_test.trig +0 -0
  149. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/datamodel_test.trig +0 -0
  150. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/event_type.yaml +0 -0
  151. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/hlist_schema.yaml +0 -0
  152. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/instances_test.trig +0 -0
  153. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/institution_or_building_type.yaml +0 -0
  154. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/language.yaml +0 -0
  155. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/location_type.yaml +0 -0
  156. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/means_of_transportation.yaml +0 -0
  157. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/objectfactory_test.trig +0 -0
  158. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/playground_list.yaml +0 -0
  159. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/role.yaml +0 -0
  160. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/source_type-1.yaml +0 -0
  161. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/source_type.yaml +0 -0
  162. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/test_move_left_of_toL.yaml +0 -0
  163. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testdata/testlist.yaml +0 -0
  164. {oldaplib-0.3.13 → oldaplib-0.3.14}/oldaplib/testit.http +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: oldaplib
3
- Version: 0.3.13
3
+ Version: 0.3.14
4
4
  Summary: Open Media Access Server Library (Linked Open Data middleware/RESTApi)
5
5
  License: GNU Affero General Public License version 3
6
6
  Author: Lukas Rosenthaler
@@ -95,26 +95,27 @@ shared:shacl {
95
95
  # Media object
96
96
  ###############################################################################
97
97
 
98
- oldap:MediaObjectShape a sh:NodeShape ;
99
- sh:targetClass oldap:MediaObject ;
100
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
98
+ shared:MediaObjectShape a sh:NodeShape ;
99
+ sh:targetClass shared:MediaObject ;
100
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
101
101
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
102
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
102
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
103
103
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
104
104
  oldap:externalOntology "false"^^xsd:boolean ;
105
105
  rdfs:label "MediaObject"@en, "Medienobjekt"@de, "MediaObject"@fr, "MediaObject"@it ;
106
106
  rdfs:comment "Page of a book"@en, "Seite eines Buches"@de ;
107
107
  sh:closed "true"^^xsd:boolean ;
108
+ sh:node oldap:ThingShape ;
108
109
  sh:property [
109
110
  sh:path rdf:type ;
110
111
  ] ;
111
112
  sh:property [ # >>PropertyClass.property_node_shacl()
112
- sh:path oldap:originalName ;
113
+ sh:path shared:originalName ;
113
114
  schema:version "0.1.0"^^xsd:string ;
114
115
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
115
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
116
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
116
117
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
117
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
118
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
118
119
  oldap:statementProperty "false"^^xsd:boolean ;
119
120
  oldap:externalOntology "false"^^xsd:boolean ;
120
121
  sh:datatype xsd:string ;
@@ -124,12 +125,12 @@ shared:shacl {
124
125
  sh:order "1.0"^^xsd:decimal ;
125
126
  ] ;
126
127
  sh:property [ # >>PropertyClass.property_node_shacl()
127
- sh:path oldap:originalMimeType ;
128
+ sh:path shared:originalMimeType ;
128
129
  schema:version "0.1.0"^^xsd:string ;
129
130
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
130
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
131
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
131
132
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
132
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
133
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
133
134
  oldap:statementProperty "false"^^xsd:boolean ;
134
135
  oldap:externalOntology "false"^^xsd:boolean ;
135
136
  sh:datatype xsd:string ;
@@ -139,12 +140,12 @@ shared:shacl {
139
140
  sh:order "2.0"^^xsd:decimal ;
140
141
  ] ;
141
142
  sh:property [ # >>PropertyClass.property_node_shacl()
142
- sh:path oldap:serverUrl ;
143
+ sh:path shared:serverUrl ;
143
144
  schema:version "0.1.0"^^xsd:string ;
144
145
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
145
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
146
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
146
147
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
147
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
148
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
148
149
  oldap:statementProperty "false"^^xsd:boolean ;
149
150
  oldap:externalOntology "false"^^xsd:boolean ;
150
151
  sh:datatype xsd:anyURI ;
@@ -154,12 +155,12 @@ shared:shacl {
154
155
  sh:order "3.0"^^xsd:decimal ;
155
156
  ] ;
156
157
  sh:property [ # >>PropertyClass.property_node_shacl()
157
- sh:path oldap:imageId ;
158
+ sh:path shared:imageId ;
158
159
  schema:version "0.1.0"^^xsd:string ;
159
160
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
160
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
161
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
161
162
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
162
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
163
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
163
164
  oldap:statementProperty "false"^^xsd:boolean ;
164
165
  oldap:externalOntology "false"^^xsd:boolean ;
165
166
  sh:datatype xsd:string ;
@@ -168,9 +169,6 @@ shared:shacl {
168
169
  sh:maxCount "1"^^xsd:integer ;
169
170
  sh:order "3.0"^^xsd:decimal ;
170
171
  ] .
171
-
172
-
173
-
174
172
  }
175
173
 
176
174
  shared:onto {
@@ -294,68 +292,68 @@ shared:onto {
294
292
  # Media object
295
293
  ###########################################################################
296
294
 
297
- oldap:originalName rdf:type owl:DatatypeProperty ;
298
- rdfs:domain oldap:MediaObject ;
295
+ shared:originalName rdf:type owl:DatatypeProperty ;
296
+ rdfs:domain shared:MediaObject ;
299
297
  rdfs:range xsd:string ;
300
298
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
301
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
299
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
302
300
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
303
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime .
301
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime .
304
302
 
305
- oldap:originalMimeType rdf:type owl:DatatypeProperty ;
306
- rdfs:domain oldap:MediaObject ;
303
+ shared:originalMimeType rdf:type owl:DatatypeProperty ;
304
+ rdfs:domain shared:MediaObject ;
307
305
  rdfs:range xsd:string ;
308
306
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
309
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
307
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
310
308
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
311
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime .
309
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime .
312
310
 
313
- oldap:serverUrl rdf:type owl:DatatypeProperty ;
314
- rdfs:domain oldap:MediaObject ;
311
+ shared:serverUrl rdf:type owl:DatatypeProperty ;
312
+ rdfs:domain shared:MediaObject ;
315
313
  rdfs:range xsd:anyURI ;
316
314
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
317
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
315
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
318
316
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
319
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime .
317
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime .
320
318
 
321
- oldap:imageId rdf:type owl:DatatypeProperty ;
322
- rdfs:domain oldap:MediaObject ;
319
+ shared:imageId rdf:type owl:DatatypeProperty ;
320
+ rdfs:domain shared:MediaObject ;
323
321
  rdfs:range xsd:string ;
324
322
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
325
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
323
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
326
324
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
327
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime .
325
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime .
328
326
 
329
- oldap:MediaObject rdf:type owl:Class ;
327
+ shared:MediaObject rdf:type owl:Class ;
330
328
  schema:version "0.1.0"^^xsd:string ;
331
- dcterms:created "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
329
+ dcterms:created "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
332
330
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
333
- dcterms:modified "2025-11-20T22:48:57.760670+01:00"^^xsd:dateTime ;
331
+ dcterms:modified "2025-11-21T00:15:09.037880+01:00"^^xsd:dateTime ;
334
332
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
335
333
  rdfs:label "MediaObject"@en, "Medienobjekt"@de, "MediaObject"@fr, "MediaObject"@it ;
336
334
  rdfs:comment "Page of a book"@en, "Seite eines Buches"@de ;
337
335
  rdfs:subClassOf oldap:Thing ,
338
336
  [
339
337
  rdf:type owl:Restriction ;
340
- owl:onProperty oldap:originalName ;
338
+ owl:onProperty shared:originalName ;
341
339
  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
342
340
  owl:onDataRange xsd:string ;
343
341
  ] ,
344
342
  [
345
343
  rdf:type owl:Restriction ;
346
- owl:onProperty oldap:originalMimeType ;
344
+ owl:onProperty shared:originalMimeType ;
347
345
  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
348
346
  owl:onDataRange xsd:string ;
349
347
  ] ,
350
348
  [
351
349
  rdf:type owl:Restriction ;
352
- owl:onProperty oldap:serverUrl ;
350
+ owl:onProperty shared:serverUrl ;
353
351
  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
354
352
  owl:onDataRange xsd:anyURI ;
355
353
  ] ,
356
354
  [
357
355
  rdf:type owl:Restriction ;
358
- owl:onProperty oldap:imageId ;
356
+ owl:onProperty shared:imageId ;
359
357
  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
360
358
  owl:onDataRange xsd:string ;
361
359
  ] .
@@ -495,7 +495,7 @@ class ResourceInstance:
495
495
  raise OldapErrorNoPermission(message)
496
496
 
497
497
  timestamp = Xsd_dateTimeStamp()
498
- if self.name == "Thing":
498
+ if self.name in ("Thing", "oldap:Thing"):
499
499
  self._values[Xsd_QName('oldap:createdBy', validate=False)] = ObservableSet({self._con.userIri})
500
500
  self._values[Xsd_QName('oldap:creationDate', validate=False)] = ObservableSet({timestamp})
501
501
  self._values[Xsd_QName('oldap:lastModifiedBy', validate=False)] = ObservableSet({self._con.userIri})
@@ -517,7 +517,7 @@ class ResourceInstance:
517
517
  sparql += f'{blank:{indent * indent_inc}}INSERT DATA {{'
518
518
  sparql += f'\n{blank:{(indent + 1) * indent_inc}}GRAPH {self._graph}:data {{'
519
519
 
520
- sparql += f'\n{blank:{(indent + 2) * indent_inc}}{self._iri.toRdf} a {self._graph}:{self.name}'
520
+ sparql += f'\n{blank:{(indent + 2) * indent_inc}}{self._iri.toRdf} a {self.name}'
521
521
 
522
522
  for prop_iri, values in self._values.items():
523
523
  if self.properties.get(prop_iri) and self.properties[prop_iri].prop.datatype == XsdDatatypes.QName:
@@ -537,6 +537,7 @@ class ResourceInstance:
537
537
  raise OldapErrorAlreadyExists(f'Resource with IRI {self._iri} already exists.')
538
538
  self._con.transaction_update(sparql)
539
539
  except OldapError as e:
540
+ print(sparql)
540
541
  self._con.transaction_abort()
541
542
  raise
542
543
  self._con.transaction_commit()
@@ -1172,7 +1173,9 @@ class ResourceInstanceFactory:
1172
1173
  """
1173
1174
  _con: IConnection
1174
1175
  _project: Project
1176
+ _sharedProject: Project
1175
1177
  _datamodel: DataModel
1178
+ _sharedModel: DataModel
1176
1179
 
1177
1180
  def __init__(self,
1178
1181
  con: IConnection,
@@ -1182,20 +1185,30 @@ class ResourceInstanceFactory:
1182
1185
  self._project = project
1183
1186
  else:
1184
1187
  self._project = Project.read(self._con, project)
1188
+ self._sharedProject = Project.read(self._con, "oldap:SharedProject")
1185
1189
 
1186
- self._datamodel = DataModel.read(con=self._con, project=self._project, ignore_cache=True)
1190
+ self._datamodel = DataModel.read(con=self._con, project=self._project)
1191
+ self._sharedModel = DataModel.read(con=self._con, project=self._sharedProject)
1187
1192
 
1188
- def createObjectInstance(self, name: Xsd_NCName | str) -> Type: ## ToDo: Get name automatically from IRI
1189
- classiri = Xsd_QName(self._project.projectShortName, name)
1193
+ def createObjectInstance(self, name: Xsd_NCName | Xsd_QName | str) -> Type: ## ToDo: Get name automatically from IRI
1194
+ if isinstance(name, Xsd_QName):
1195
+ classiri = name
1196
+ else:
1197
+ try:
1198
+ classiri = Xsd_QName(name, validate=True)
1199
+ except (ValueError, OldapErrorValue):
1200
+ if not isinstance(name, Xsd_NCName):
1201
+ name = Xsd_NCName(name, validate=True)
1202
+ classiri = Xsd_QName(self._project.projectShortName, name)
1190
1203
  resclass = self._datamodel.get(classiri)
1191
- if not isinstance(name, Xsd_NCName):
1192
- name = Xsd_NCName(name)
1204
+ if not resclass:
1205
+ resclass = self._sharedModel.get(classiri)
1193
1206
  if resclass is None:
1194
1207
  raise OldapErrorNotFound(f'Given Resource Class "{classiri}" not found.')
1195
1208
  return type(str(name), (ResourceInstance,), {
1196
1209
  '_con': self._con,
1197
1210
  'project': self._project,
1198
- 'name': name,
1211
+ 'name': resclass.owl_class_iri,
1199
1212
  'factory': self,
1200
1213
  'properties': resclass.properties,
1201
1214
  'superclass': resclass.superclass})
@@ -0,0 +1 @@
1
+ __version__ = "0.3.14"
@@ -357,6 +357,25 @@ class TestObjectFactory(unittest.TestCase):
357
357
  mycat = Cat(name="Fluffy", subName="Fluffy the Cat")
358
358
  mycat.create()
359
359
 
360
+ def test_create_from_shared(self):
361
+ dm = DataModel.read(con=self._connection, project='test')
362
+ factory = ResourceInstanceFactory(con=self._connection, project='test')
363
+ MO = factory.createObjectInstance('shared:MediaObject')
364
+ mo = MO(originalName='Cat.tif',
365
+ originalMimeType='image/tiff',
366
+ serverUrl='http://iiif.oldap.org/iiif/3/',
367
+ imageId='cat.tif',
368
+ grantsPermission=Iri('oldap:GenericView'))
369
+ mo.create()
370
+ data = ResourceInstance.read_data(con=self._connection, iri=mo.iri, projectShortName='test')
371
+ print(data)
372
+ self.assertEqual(data[Xsd_QName("oldap:grantsPermission")], ['oldap:GenericView'])
373
+ self.assertEqual(data[Xsd_QName("shared:originalName")], ['Cat.tif'])
374
+ self.assertEqual(data[Xsd_QName("shared:originalMimeType")], ['image/tiff'])
375
+ self.assertEqual(data[Xsd_QName("shared:serverUrl")], ['http://iiif.oldap.org/iiif/3/'])
376
+ self.assertEqual(data[Xsd_QName("shared:imageId")], ['cat.tif'])
377
+ mo.delete()
378
+
360
379
  def test_read_A(self):
361
380
  factory = ResourceInstanceFactory(con=self._connection, project='test')
362
381
  Book = factory.createObjectInstance('Book')
@@ -381,7 +400,7 @@ class TestObjectFactory(unittest.TestCase):
381
400
  grantsPermission=Iri('oldap:GenericView'))
382
401
  b.create()
383
402
  bb = factory.read(iri=b.iri)
384
- self.assertEqual(bb.name, "Book")
403
+ self.assertEqual(bb.name, "test:Book")
385
404
  self.assertEqual(bb.title, {Xsd_string("The Life and Times of Scrooge")})
386
405
  self.assertEqual(bb.author, {Iri("test:TuomasHolopainen")})
387
406
  jsonobj = bb.toJsonObject()
@@ -398,7 +417,7 @@ class TestObjectFactory(unittest.TestCase):
398
417
  grantsPermission=Iri('oldap:GenericView'))
399
418
  b.create()
400
419
  bb = Book.read(con=self._connection, iri=b.iri)
401
- self.assertEqual(bb.name, "Book")
420
+ self.assertEqual(bb.name, "test:Book")
402
421
  self.assertEqual(bb.title, {Xsd_string("The Life and Times of Scrooge")})
403
422
  self.assertEqual(bb.author, {Iri("test:TuomasHolopainen")})
404
423
  jsonobj = bb.toJsonObject()
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "oldaplib"
3
- version = "0.3.13"
3
+ version = "0.3.14"
4
4
  description = "Open Media Access Server Library (Linked Open Data middleware/RESTApi)"
5
5
  authors = ["Lukas Rosenthaler <lukas.rosenthaler@unibas.ch>"]
6
6
  license = "GNU Affero General Public License version 3"
@@ -1 +0,0 @@
1
- __version__ = "0.3.13"
File without changes