Skip to content
Permalink
Browse files
feat(ontology)!: make knora-base:lastModificationDate required proper…
…ty (#2018)

* make lastModificationDate required

* add upgrade plugin + test

* revert knora-base cardinality change

* add lastModificationDate validation before leaded to cache

* add knora-base:lastModificationDate to project ontologies

* add knora-base:lastModificationDate to more ontologies

* add knora-base:lastModificationDate to even more ontologies

* fix ontology test data creation

* update ontology test data

* force application stop in case of bad ontology loaded to cache

* update plugin test and test data

* update plugin

* bump up knora-base version

* activate plugin

* update plugin, test and test data

* update plugin + cleanup

* fix plugin test

* minor fixes

* update docs

* update knora-base and plugin version

* minor code improvements

* fix typo
  • Loading branch information
mpro7 committed Mar 30, 2022
1 parent 6bbb3fe commit 64cdce9dfa305f1e514ada184777e4c0942ef0e2
Showing with 8,757 additions and 7,402 deletions.
  1. +2 −2 docs/02-knora-ontologies/knora-base.md
  2. +145 −42 docs/03-apis/api-v2/ontology-information.md
  3. +1 −1 knora-ontologies/knora-base.ttl
  4. +2 −1 test_data/e2e.v2.SearchRouteV2R2RSpec/gravsearchtest1-onto.ttl
  5. +2 −1 test_data/ontologies/beol-onto.ttl
  6. +2 −1 test_data/ontologies/biblio-onto.ttl
  7. +2 −1 test_data/ontologies/dokubib-onto.ttl
  8. +2 −1 test_data/ontologies/empty-thing-onto.ttl
  9. +2 −1 test_data/ontologies/images-onto.ttl
  10. +2 −1 test_data/ontologies/incunabula-onto.ttl
  11. +2 −1 test_data/ontologies/leibniz-onto.ttl
  12. +2 −1 test_data/ontologies/newton-onto.ttl
  13. +2 −1 test_data/ontologies/something-onto.ttl
  14. +2 −1 test_data/ontologies/webern-onto.ttl
  15. +49 −22 test_data/ontologyR2RV2/allOntologyMetadata.jsonld
  16. +21 −7 test_data/ontologyR2RV2/allOntologyMetadata.rdf
  17. +31 −24 test_data/ontologyR2RV2/allOntologyMetadata.ttl
  18. +0 −1 test_data/ontologyR2RV2/anythingHasDate.jsonld
  19. +8 −8 test_data/ontologyR2RV2/anythingHasDate.ttl
  20. +0 −1 test_data/ontologyR2RV2/anythingHasListItem.jsonld
  21. +8 −8 test_data/ontologyR2RV2/anythingHasListItem.ttl
  22. +7 −4 test_data/ontologyR2RV2/anythingOntologyMetadata.jsonld
  23. +3 −1 test_data/ontologyR2RV2/anythingOntologyMetadata.rdf
  24. +7 −6 test_data/ontologyR2RV2/anythingOntologyMetadata.ttl
  25. +0 −1 test_data/ontologyR2RV2/anythingOntologyWithValueObjects.jsonld
  26. +698 −698 test_data/ontologyR2RV2/anythingOntologyWithValueObjects.ttl
  27. +0 −1 test_data/ontologyR2RV2/anythingThingWithAllLanguages.jsonld
  28. +119 −119 test_data/ontologyR2RV2/anythingThingWithAllLanguages.ttl
  29. +14 −7 test_data/ontologyR2RV2/beolOntologyMetadata.jsonld
  30. +18 −16 test_data/ontologyR2RV2/beolOntologyMetadata.rdf
  31. +11 −9 test_data/ontologyR2RV2/beolOntologyMetadata.ttl
  32. +0 −1 test_data/ontologyR2RV2/boxOntologyWithValueObjects.jsonld
  33. +54 −54 test_data/ontologyR2RV2/boxOntologyWithValueObjects.ttl
  34. +4 −1 test_data/ontologyR2RV2/imagesBild.jsonld
  35. +339 −232 test_data/ontologyR2RV2/imagesBild.rdf
  36. +119 −118 test_data/ontologyR2RV2/imagesBild.ttl
  37. +4 −1 test_data/ontologyR2RV2/imagesTitel.jsonld
  38. +26 −24 test_data/ontologyR2RV2/imagesTitel.rdf
  39. +11 −10 test_data/ontologyR2RV2/imagesTitel.ttl
  40. +4 −1 test_data/ontologyR2RV2/incunabulaBook.jsonld
  41. +285 −196 test_data/ontologyR2RV2/incunabulaBook.rdf
  42. +100 −99 test_data/ontologyR2RV2/incunabulaBook.ttl
  43. +7 −4 test_data/ontologyR2RV2/incunabulaOntologyMetadata.jsonld
  44. +12 −12 test_data/ontologyR2RV2/incunabulaOntologyMetadata.rdf
  45. +7 −6 test_data/ontologyR2RV2/incunabulaOntologyMetadata.ttl
  46. +0 −1 test_data/ontologyR2RV2/incunabulaOntologySimple.jsonld
  47. +147 −147 test_data/ontologyR2RV2/incunabulaOntologySimple.ttl
  48. +4 −1 test_data/ontologyR2RV2/incunabulaOntologyWithValueObjects.jsonld
  49. +1,437 −1,017 test_data/ontologyR2RV2/incunabulaOntologyWithValueObjects.rdf
  50. +339 −338 test_data/ontologyR2RV2/incunabulaOntologyWithValueObjects.ttl
  51. +4 −1 test_data/ontologyR2RV2/incunabulaPage.jsonld
  52. +303 −208 test_data/ontologyR2RV2/incunabulaPage.rdf
  53. +102 −101 test_data/ontologyR2RV2/incunabulaPage.ttl
  54. +4 −1 test_data/ontologyR2RV2/incunabulaPageAndBookWithValueObjects.jsonld
  55. +574 −390 test_data/ontologyR2RV2/incunabulaPageAndBookWithValueObjects.rdf
  56. +197 −196 test_data/ontologyR2RV2/incunabulaPageAndBookWithValueObjects.ttl
  57. +4 −1 test_data/ontologyR2RV2/incunabulaPartOf.jsonld
  58. +28 −25 test_data/ontologyR2RV2/incunabulaPartOf.rdf
  59. +11 −10 test_data/ontologyR2RV2/incunabulaPartOf.ttl
  60. +0 −1 test_data/ontologyR2RV2/incunabulaSimplePubDate.jsonld
  61. +7 −7 test_data/ontologyR2RV2/incunabulaSimplePubDate.ttl
  62. +4 −1 test_data/ontologyR2RV2/incunabulaWithValueObjectsPubDate.jsonld
  63. +27 −25 test_data/ontologyR2RV2/incunabulaWithValueObjectsPubDate.rdf
  64. +11 −10 test_data/ontologyR2RV2/incunabulaWithValueObjectsPubDate.ttl
  65. +0 −1 test_data/ontologyR2RV2/knoraApiDate.jsonld
  66. +6 −6 test_data/ontologyR2RV2/knoraApiDate.ttl
  67. +0 −1 test_data/ontologyR2RV2/knoraApiDateValue.jsonld
  68. +56 −56 test_data/ontologyR2RV2/knoraApiDateValue.ttl
  69. +0 −1 test_data/ontologyR2RV2/knoraApiOntologySimple.jsonld
  70. +223 −223 test_data/ontologyR2RV2/knoraApiOntologySimple.ttl
  71. +0 −1 test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.jsonld
  72. +2,046 −2,046 test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.ttl
  73. +0 −1 test_data/ontologyR2RV2/knoraApiSimpleHasColor.jsonld
  74. +6 −6 test_data/ontologyR2RV2/knoraApiSimpleHasColor.ttl
  75. +0 −1 test_data/ontologyR2RV2/knoraApiWithValueObjectsHasColor.jsonld
  76. +7 −7 test_data/ontologyR2RV2/knoraApiWithValueObjectsHasColor.ttl
  77. +0 −1 test_data/ontologyR2RV2/minimalOntologyWithValueObjects.jsonld
  78. +8 −8 test_data/ontologyR2RV2/minimalOntologyWithValueObjects.ttl
  79. +0 −1 test_data/ontologyR2RV2/salsahGuiOntology.jsonld
  80. +28 −28 test_data/ontologyR2RV2/salsahGuiOntology.ttl
  81. +0 −1 test_data/ontologyR2RV2/standoffOntologyWithValueObjects.jsonld
  82. +728 −728 test_data/ontologyR2RV2/standoffOntologyWithValueObjects.ttl
  83. +2 −1 test_data/other.v1.DrawingsGodsV1Spec/drawings-gods_ontology.ttl
  84. +2 −1 test_data/other.v1.DrawingsGodsV1Spec/parole-religieuse-dummy-onto.ttl
  85. +2 −1 test_data/other.v2.LumieresLausanneV2E2ESpec/lumieres-lausanne-onto.ttl
  86. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/cardinality-with-guiattribute-onto.ttl
  87. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/cardinality-with-guielement-onto.ttl
  88. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-incompatible-with-scc-onto.ttl
  89. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-inherits-prop-and-subprop-onto.ttl
  90. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-with-cardinality-on-kbhasvalue-onto.ttl
  91. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-with-cardinality-on-kbresprop-onto.ttl
  92. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-with-misdefined-link-property-onto.ttl
  93. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-with-misdefined-link-value-property-onto.ttl
  94. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-with-mismatched-link-cardinalities-onto.ttl
  95. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-with-missing-property-onto.ttl
  96. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-with-non-resource-prop-cardinality-onto.ttl
  97. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-with-non-shared-base-class.ttl
  98. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/class-with-non-shared-cardinality.ttl
  99. +3 −2 test_data/responders.v2.OntologyResponderV2Spec/class-without-label-onto.ttl
  100. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/conflicting-cardinalities-onto.ttl
  101. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/filevalue-prop-onto.ttl
  102. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/invalid-card-on-boolean-prop.ttl
  103. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/missing-link-cardinality-onto.ttl
  104. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/missing-link-value-cardinality-onto.ttl
  105. +3 −2 test_data/responders.v2.OntologyResponderV2Spec/onto-without-project.ttl
  106. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-both-value-and-link-onto.ttl
  107. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-with-guielement-scc-onto.ttl
  108. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-with-guiorder-onto.ttl
  109. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-with-incompatible-occ-onto.ttl
  110. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-with-non-knora-occ-onto.ttl
  111. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-with-non-knora-scc-onto.ttl
  112. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-with-non-shared-base-prop.ttl
  113. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-with-non-shared-occ.ttl
  114. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-with-non-shared-scc.ttl
  115. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/prop-with-value-scc-onto.ttl
  116. +3 −2 test_data/responders.v2.OntologyResponderV2Spec/property-without-label-onto.ttl
  117. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/resource-class-is-standoff-class-onto.ttl
  118. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/resource-class-with-invalid-base-class-onto.ttl
  119. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/resource-prop-without-label-onto.ttl
  120. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/resource-prop-without-occ-onto.ttl
  121. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/resource-prop-wrong-base-onto.ttl
  122. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/standoff-class-with-invalid-base-class-onto.ttl
  123. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/standoff-class-with-resprop-cardinality-onto.ttl
  124. +2 −1 test_data/responders.v2.OntologyResponderV2Spec/transitive-prop.ttl
  125. +39 −0 test_data/upgrade/pr2018.trig
  126. +8 −1 webapi/src/main/scala/org/knora/webapi/app/ApplicationActor.scala
  127. +3 −0 webapi/src/main/scala/org/knora/webapi/exceptions/Exceptions.scala
  128. +1 −1 webapi/src/main/scala/org/knora/webapi/package.scala
  129. +22 −0 webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/Cache.scala
  130. +9 −3 webapi/src/main/scala/org/knora/webapi/store/triplestore/upgrade/RepositoryUpdatePlan.scala
  131. +1 −1 webapi/src/main/scala/org/knora/webapi/store/triplestore/upgrade/plugins/UpgradePluginPR1746.scala
  132. +2 −2 webapi/src/main/scala/org/knora/webapi/store/triplestore/upgrade/plugins/UpgradePluginPR1921.scala
  133. +83 −0 webapi/src/main/scala/org/knora/webapi/store/triplestore/upgrade/plugins/UpgradePluginPR2018.scala
  134. +4 −3 webapi/src/test/scala/org/knora/webapi/e2e/v2/OntologyV2R2RSpec.scala
  135. +51 −0 ...i/src/test/scala/org/knora/webapi/store/triplestore/upgrade/plugins/UpgradePluginPR2018Spec.scala
@@ -49,8 +49,8 @@ the `kb:isInProject` property, as described in

### Ontologies

Each user-created ontology must be defined as an `owl:Ontology` with the properties `rdfs:label`
and `kb:attachedToProject`.
Each user-created ontology must be defined as an `owl:Ontology` with the properties `rdfs:label` and `kb:attachedToProject`.
Since [DSP-API v19](https://github.com/dasch-swiss/dsp-api/releases/tag/v19.0.0) `kb:lastModificationDate` property is also required.

### Resources

@@ -40,54 +40,157 @@ The response is in the complex API v2 schema. Sample response:

```json
{
"@graph" : [ {
"@id" : "http://0.0.0.0:3333/ontology/00FF/images/v2",
"@type" : "owl:Ontology",
"knora-api:attachedToProject" : {
"@id" : "http://rdfh.ch/projects/00FF"
"@graph": [
{
"knora-api:lastModificationDate": {
"@value": "2017-12-19T15:23:42.166Z",
"@type": "xsd:dateTimeStamp"
},
"rdfs:label": "The anything ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/0001"
},
"@type": "owl:Ontology",
"@id": "http://0.0.0.0:3333/ontology/0001/anything/v2"
},
"rdfs:label" : "The images demo ontology"
}, {
"@id" : "http://0.0.0.0:3333/ontology/0801/beol/v2",
"@type" : "owl:Ontology",
"knora-api:attachedToProject" : {
"@id" : "http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF"
{
"knora-api:lastModificationDate": {
"@value": "2022-03-23T07:14:17.445208Z",
"@type": "xsd:dateTimeStamp"
},
"rdfs:label": "The something ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/0001"
},
"@type": "owl:Ontology",
"@id": "http://0.0.0.0:3333/ontology/0001/something/v2"
},
"rdfs:label" : "The BEOL ontology"
}, {
"@id" : "http://0.0.0.0:3333/ontology/0804/dokubib/v2",
"@type" : "owl:Ontology",
"knora-api:attachedToProject" : {
"@id" : "http://rdfh.ch/projects/0804"
{
"knora-api:lastModificationDate": {
"@value": "2022-03-23T07:14:17.445208Z",
"@type": "xsd:dateTimeStamp"
},
"rdfs:label": "The images demo ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/00FF"
},
"@type": "owl:Ontology",
"@id": "http://0.0.0.0:3333/ontology/00FF/images/v2"
},
"rdfs:label" : "The dokubib ontology"
}, {
"@id" : "http://api.knora.org/ontology/salsah-gui/v2",
"@type" : "owl:Ontology",
"knora-api:attachedToProject" : {
"@id" : "http://www.knora.org/ontology/knora-base#SystemProject"
{
"knora-api:lastModificationDate": {
"@value": "2022-03-23T07:14:17.445208Z",
"@type": "xsd:dateTimeStamp"
},
"rdfs:label": "The BEOL ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF"
},
"@type": "owl:Ontology",
"@id": "http://0.0.0.0:3333/ontology/0801/beol/v2"
},
"rdfs:label" : "The salsah-gui ontology"
}, {
"@id" : "http://api.knora.org/ontology/standoff/v2",
"@type" : "owl:Ontology",
"knora-api:attachedToProject" : {
"@id" : "http://www.knora.org/ontology/knora-base#SystemProject"
{
"knora-api:lastModificationDate": {
"@value": "2022-03-23T07:14:17.445208Z",
"@type": "xsd:dateTimeStamp"
},
"rdfs:label": "The Biblio ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF"
},
"@type": "owl:Ontology",
"@id": "http://0.0.0.0:3333/ontology/0801/biblio/v2"
},
"rdfs:label" : "The standoff ontology"
}, {
"@id": "http://knora.unil.ch/ontology/0001/anything/v2",
"@type": "owl:Ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/0001"
{
"knora-api:lastModificationDate": {
"@value": "2022-03-23T07:14:17.445208Z",
"@type": "xsd:dateTimeStamp"
},
"rdfs:label": "The Newton-Project ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF"
},
"@type": "owl:Ontology",
"@id": "http://0.0.0.0:3333/ontology/0801/newton/v2"
},
"knora-api:lastModificationDate": "2017-12-19T15:23:42.166Z",
"rdfs:label": "The anything ontology"
} ],
"@context" : {
"knora-api" : "http://api.knora.org/ontology/knora-api/v2#",
"rdfs" : "http://www.w3.org/2000/01/rdf-schema#",
"owl" : "http://www.w3.org/2002/07/owl#"
{
"knora-api:lastModificationDate": {
"@value": "2022-03-23T07:14:17.445208Z",
"@type": "xsd:dateTimeStamp"
},
"rdfs:label": "The incunabula ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/0803"
},
"@type": "owl:Ontology",
"@id": "http://0.0.0.0:3333/ontology/0803/incunabula/v2"
},
{
"knora-api:lastModificationDate": {
"@value": "2022-03-23T07:14:17.445208Z",
"@type": "xsd:dateTimeStamp"
},
"rdfs:label": "The dokubib ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/0804"
},
"@type": "owl:Ontology",
"@id": "http://0.0.0.0:3333/ontology/0804/dokubib/v2"
},
{
"knora-api:lastModificationDate": {
"@value": "2022-03-23T07:14:17.445208Z",
"@type": "xsd:dateTimeStamp"
},
"rdfs:label": "The Anton Webern project ontology",
"knora-api:attachedToProject": {
"@id": "http://rdfh.ch/projects/08AE"
},
"@type": "owl:Ontology",
"@id": "http://0.0.0.0:3333/ontology/08AE/webern/v2"
},
{
"rdfs:label": "The Knora admin ontology",
"knora-api:attachedToProject": {
"@id": "http://www.knora.org/ontology/knora-admin#SystemProject"
},
"knora-api:isBuiltIn": true,
"@type": "owl:Ontology",
"@id": "http://api.knora.org/ontology/knora-admin/v2"
},
{
"rdfs:label": "The knora-api ontology in the complex schema",
"knora-api:attachedToProject": {
"@id": "http://www.knora.org/ontology/knora-admin#SystemProject"
},
"knora-api:isBuiltIn": true,
"@type": "owl:Ontology",
"@id": "http://api.knora.org/ontology/knora-api/v2"
},
{
"rdfs:label": "The salsah-gui ontology",
"knora-api:attachedToProject": {
"@id": "http://www.knora.org/ontology/knora-admin#SystemProject"
},
"knora-api:isBuiltIn": true,
"@type": "owl:Ontology",
"@id": "http://api.knora.org/ontology/salsah-gui/v2"
},
{
"rdfs:label": "The standoff ontology",
"knora-api:attachedToProject": {
"@id": "http://www.knora.org/ontology/knora-admin#SystemProject"
},
"knora-api:isBuiltIn": true,
"@type": "owl:Ontology",
"@id": "http://api.knora.org/ontology/standoff/v2"
}
],
"@context": {
"knora-api": "http://api.knora.org/ontology/knora-api/v2#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"owl": "http://www.w3.org/2002/07/owl#"
}
}
```
@@ -21,7 +21,7 @@

:attachedToProject knora-admin:SystemProject ;

:ontologyVersion "knora-base v14" .
:ontologyVersion "knora-base v20" .



@@ -9,7 +9,8 @@

<http://www.knora.org/ontology/0666/gravsearchtest1> a owl:Ontology ;
rdfs:label "Test ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/0666> .
knora-base:attachedToProject <http://rdfh.ch/projects/0666> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

gravsearchtest1:isInProjectValue rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf knora-base:hasLinkToValue ;
@@ -15,7 +15,8 @@

<http://www.knora.org/ontology/0801/beol> rdf:type owl:Ontology ;
rdfs:label "The BEOL ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF> .
knora-base:attachedToProject <http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

##########################################################
#
@@ -16,7 +16,8 @@

<http://www.knora.org/ontology/0801/biblio> rdf:type owl:Ontology ;
rdfs:label "The Biblio ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF> .
knora-base:attachedToProject <http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .


#################################################################
@@ -14,7 +14,8 @@

<http://www.knora.org/ontology/0804/dokubib> rdf:type owl:Ontology ;
rdfs:label "The dokubib ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/0804> .
knora-base:attachedToProject <http://rdfh.ch/projects/0804> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

##########################################################
#
@@ -16,7 +16,8 @@
@prefix : <http://www.knora.org/ontology/0001/empty-thing#> .
<http://www.knora.org/ontology/0001/empty-thing> rdf:type owl:Ontology ;
rdfs:label "The empty thing ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/0001> .
knora-base:attachedToProject <http://rdfh.ch/projects/0001> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

:EmptyThing rdf:type owl:Class ;

@@ -14,7 +14,8 @@

<http://www.knora.org/ontology/00FF/images> rdf:type owl:Ontology ;
rdfs:label "The images demo ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/00FF> .
knora-base:attachedToProject <http://rdfh.ch/projects/00FF> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

##########################################################
#
@@ -13,7 +13,8 @@

<http://www.knora.org/ontology/0803/incunabula> rdf:type owl:Ontology ;
rdfs:label "The incunabula ontology"@en ;
knora-base:attachedToProject <http://rdfh.ch/projects/0803> .
knora-base:attachedToProject <http://rdfh.ch/projects/0803> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

##########################################################
#
@@ -17,7 +17,8 @@

<http://www.knora.org/ontology/0801/leibniz> rdf:type owl:Ontology ;
rdfs:label "The Briefportal Leibniz ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF> .
knora-base:attachedToProject <http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

##########################################################
#
@@ -17,7 +17,8 @@

<http://www.knora.org/ontology/0801/newton> rdf:type owl:Ontology ;
rdfs:label "The Newton-Project ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF> .
knora-base:attachedToProject <http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

##########################################################
#
@@ -16,7 +16,8 @@
@prefix : <http://www.knora.org/ontology/0001/something#> .
<http://www.knora.org/ontology/0001/something> rdf:type owl:Ontology ;
rdfs:label "The something ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/0001> .
knora-base:attachedToProject <http://rdfh.ch/projects/0001> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

:Something rdf:type owl:Class ;

@@ -12,7 +12,8 @@

<http://www.knora.org/ontology/0806/webern> rdf:type owl:Ontology ;
rdfs:label "The Anton Webern project ontology" ;
knora-base:attachedToProject <http://rdfh.ch/projects/0806> .
knora-base:attachedToProject <http://rdfh.ch/projects/0806> ;
knora-base:lastModificationDate "2012-12-12T12:12:12.12Z"^^xsd:dateTime .

##########################################################
#

0 comments on commit 64cdce9

Please sign in to comment.