Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ontology)!: make knora-base:lastModificationDate required property #2018

Merged
merged 25 commits into from Mar 30, 2022
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4607269
make lastModificationDate required
mpro7 Mar 9, 2022
d2328b7
add upgrade plugin + test
mpro7 Mar 11, 2022
4b533f0
Merge branch 'main' into DEV-464-make-last-modification-date-as-a-req…
mpro7 Mar 15, 2022
1e57d5d
revert knora-base cardinality change
mpro7 Mar 14, 2022
8e32cf1
add lastModificationDate validation before leaded to cache
mpro7 Mar 15, 2022
045770f
add knora-base:lastModificationDate to project ontologies
mpro7 Mar 16, 2022
972d3c8
add knora-base:lastModificationDate to more ontologies
mpro7 Mar 16, 2022
2d91250
add knora-base:lastModificationDate to even more ontologies
mpro7 Mar 16, 2022
a3273c3
fix ontology test data creation
mpro7 Mar 17, 2022
2bc36bb
update ontology test data
mpro7 Mar 17, 2022
f9e06e0
force application stop in case of bad ontology loaded to cache
mpro7 Mar 18, 2022
c91ffa0
update plugin test and test data
mpro7 Mar 18, 2022
11053d9
update plugin
mpro7 Mar 18, 2022
7dc2b00
bump up knora-base version
mpro7 Mar 18, 2022
ac8e656
activate plugin
mpro7 Mar 18, 2022
e4fafbd
update plugin, test and test data
mpro7 Mar 22, 2022
18e9168
update plugin + cleanup
mpro7 Mar 22, 2022
6a385e2
fix plugin test
mpro7 Mar 22, 2022
c002ce6
minor fixes
mpro7 Mar 23, 2022
a68b50e
update docs
mpro7 Mar 23, 2022
4b0c180
Merge branch 'main' into DEV-464-make-last-modification-date-as-a-req…
mpro7 Mar 24, 2022
e01c847
update knora-base and plugin version
mpro7 Mar 24, 2022
28e9ed1
minor code improvements
mpro7 Mar 24, 2022
0f05b4f
Merge branch 'main' into DEV-464-make-last-modification-date-as-a-req…
mpro7 Mar 30, 2022
bba26a1
fix typo
mpro7 Mar 30, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/02-knora-ontologies/knora-base.md
Expand Up @@ -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

Expand Down
187 changes: 145 additions & 42 deletions docs/03-apis/api-v2/ontology-information.md
Expand Up @@ -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#"
}
}
```
Expand Down
2 changes: 1 addition & 1 deletion knora-ontologies/knora-base.ttl
Expand Up @@ -21,7 +21,7 @@

:attachedToProject knora-admin:SystemProject ;

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



Expand Down
Expand Up @@ -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 ;
Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/beol-onto.ttl
Expand Up @@ -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 .

##########################################################
#
Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/biblio-onto.ttl
Expand Up @@ -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 .


#################################################################
Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/dokubib-onto.ttl
Expand Up @@ -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 .

##########################################################
#
Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/empty-thing-onto.ttl
Expand Up @@ -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 ;

Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/images-onto.ttl
Expand Up @@ -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 .

##########################################################
#
Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/incunabula-onto.ttl
Expand Up @@ -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 .

##########################################################
#
Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/leibniz-onto.ttl
Expand Up @@ -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 .

##########################################################
#
Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/newton-onto.ttl
Expand Up @@ -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 .

##########################################################
#
Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/something-onto.ttl
Expand Up @@ -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 ;

Expand Down
3 changes: 2 additions & 1 deletion test_data/ontologies/webern-onto.ttl
Expand Up @@ -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 .

##########################################################
#
Expand Down