@netwerk-digitaal-erfgoed/network-of-terms-catalog 10.0.2 → 10.2.0

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 (28) hide show
  1. package/catalog/datasets/muziekschatten-klassieke-werken.jsonld +1 -1
  2. package/catalog/datasets/muziekschatten-onderwerpen.jsonld +2 -2
  3. package/catalog/datasets/muziekschatten-personen.jsonld +1 -1
  4. package/catalog/datasets/uitvoeringsmedium.jsonld +1 -1
  5. package/catalog/queries/lookup/eurovoc.rq +6 -6
  6. package/catalog/queries/lookup/geonames.rq +4 -2
  7. package/catalog/queries/lookup/muziekschatten-klassiekewerken.rq +49 -0
  8. package/catalog/queries/lookup/muziekschatten-onderwerpen.rq +58 -0
  9. package/catalog/queries/lookup/muziekschatten-personen.rq +49 -0
  10. package/catalog/queries/lookup/rkdartists.rq +81 -27
  11. package/catalog/queries/lookup/uitvoeringsmedium.rq +33 -0
  12. package/catalog/queries/lookup/wikidata.rq +3 -22
  13. package/catalog/queries/search/aat-materials.rq +30 -16
  14. package/catalog/queries/search/aat-processes-and-techniques.rq +31 -16
  15. package/catalog/queries/search/aat-styles-and-periods.rq +32 -17
  16. package/catalog/queries/search/aat.rq +34 -19
  17. package/catalog/queries/search/eurovoc.rq +9 -7
  18. package/catalog/queries/search/geonames.rq +3 -1
  19. package/catalog/queries/search/muziekschatten-onderwerpen.rq +22 -10
  20. package/catalog/queries/search/muziekschatten-personen.rq +4 -1
  21. package/catalog/queries/search/rkdartists.rq +79 -25
  22. package/catalog/queries/search/uitvoeringsmedium.rq +0 -4
  23. package/catalog/queries/search/wikidata-entities-all.rq +3 -3
  24. package/catalog/queries/search/wikidata-entities-persons.rq +3 -3
  25. package/catalog/queries/search/wikidata-entities-places.rq +3 -3
  26. package/catalog/queries/search/wikidata-entities-streets.rq +5 -26
  27. package/package.json +2 -2
  28. package/catalog/queries/lookup/muziekschatten.rq +0 -158
@@ -19,46 +19,61 @@ CONSTRUCT {
19
19
  skos:exactMatch ?exactMatch_uri .
20
20
  ?broader_uri skos:prefLabel ?broader_prefLabel .
21
21
  ?narrower_uri skos:prefLabel ?narrower_prefLabel .
22
+ ?exactMatch_uri skos:prefLabel ?exactMatch_prefLabel .
22
23
  }
23
24
  WHERE {
25
+ VALUES ?language {
26
+ aat:300388256 # Dutch
27
+ aat:300388277 # English
28
+ }
29
+
24
30
  {
25
- SELECT * WHERE {
31
+ SELECT DISTINCT ?uri WHERE {
26
32
  ?uri luc:term ?query ;
27
33
  a ?type ;
28
34
  void:inDataset <http://vocab.getty.edu/dataset/aat> ;
29
- gvp:broaderPreferred+ <http://vocab.getty.edu/aat/300015646> . # limit results to the "styles and periodes hierarchy name (300015646)"
35
+ gvp:broaderPreferred+ <http://vocab.getty.edu/aat/300015646> . # limit results to the "styles and periodes hierarchy name (300015646)"
30
36
  ?type rdfs:subClassOf gvp:Subject .
31
37
  FILTER (?type != gvp:Subject) .
32
- ?uri skosxl:prefLabel ?prefLabel_uri .
33
- ?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
34
- ?prefLabel_uri skosxl:literalForm ?prefLabel .
38
+ ?uri skosxl:prefLabel [
39
+ dcterms:language ?language ; # Faster than FILTER(langMatches(...): https://vocab.getty.edu/queries#Find_Terms_by_Language_Tag
40
+ skosxl:literalForm ?prefLabel
41
+ ]
35
42
  }
36
43
  #LIMIT#
37
44
  }
45
+ ?uri skosxl:prefLabel [
46
+ dcterms:language ?language ; # Faster than FILTER(langMatches(...): https://vocab.getty.edu/queries#Find_Terms_by_Language_Tag
47
+ skosxl:literalForm ?prefLabel
48
+ ]
38
49
  OPTIONAL {
39
- ?uri skosxl:altLabel ?altLabel_uri .
40
- ?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
41
- ?altLabel_uri skosxl:literalForm ?altLabel .
50
+ ?uri skosxl:altLabel [
51
+ dcterms:language ?language ;
52
+ skosxl:literalForm ?altLabel
53
+ ]
42
54
  }
43
55
  OPTIONAL {
44
- ?uri skos:scopeNote ?scopeNote_uri .
45
- ?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
46
- ?scopeNote_uri rdf:value ?scopeNote .
56
+ ?uri skos:scopeNote [
57
+ dcterms:language ?language ;
58
+ rdf:value ?scopeNote
59
+ ]
47
60
  }
48
61
  OPTIONAL {
49
62
  ?uri rdfs:seeAlso ?rdfs_seeAlso
50
63
  }
51
64
  OPTIONAL {
52
65
  ?uri gvp:broaderPreferred ?broader_uri .
53
- ?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
54
- ?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
55
- ?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
66
+ ?broader_uri skosxl:prefLabel [
67
+ dcterms:language ?language ;
68
+ skosxl:literalForm ?broader_prefLabel
69
+ ]
56
70
  }
57
71
  OPTIONAL {
58
72
  ?uri skos:narrower ?narrower_uri .
59
- ?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
60
- ?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
61
- ?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
73
+ ?narrower_uri skosxl:prefLabel [
74
+ dcterms:language ?language ;
75
+ skosxl:literalForm ?narrower_prefLabel
76
+ ]
62
77
  }
63
78
  OPTIONAL {
64
79
  ?uri skos:exactMatch ?exactMatch_uri . # Has no labels.
@@ -22,48 +22,63 @@ CONSTRUCT {
22
22
  ?exactMatch_uri skos:prefLabel ?exactMatch_prefLabel .
23
23
  }
24
24
  WHERE {
25
+ VALUES ?language {
26
+ aat:300388256 # Dutch
27
+ aat:300388277 # English
28
+ }
29
+
25
30
  {
26
- SELECT * WHERE {
31
+ SELECT DISTINCT ?uri WHERE {
27
32
  ?uri luc:term ?query ;
28
33
  a ?type ;
29
34
  void:inDataset <http://vocab.getty.edu/dataset/aat> .
30
35
  ?type rdfs:subClassOf gvp:Subject .
31
36
  FILTER (?type != gvp:Subject) .
32
- ?uri skosxl:prefLabel ?prefLabel_uri .
33
- ?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
34
- ?prefLabel_uri skosxl:literalForm ?prefLabel .
37
+ ?uri skosxl:prefLabel [
38
+ dcterms:language ?language ; # Faster than FILTER(langMatches(...): https://vocab.getty.edu/queries#Find_Terms_by_Language_Tag
39
+ skosxl:literalForm ?prefLabel
40
+ ]
35
41
  }
36
42
  #LIMIT#
37
43
  }
44
+ ?uri skosxl:prefLabel [
45
+ dcterms:language ?language ; # Faster than FILTER(langMatches(...): https://vocab.getty.edu/queries#Find_Terms_by_Language_Tag
46
+ skosxl:literalForm ?prefLabel
47
+ ]
38
48
  OPTIONAL {
39
- ?uri skosxl:altLabel ?altLabel_uri .
40
- ?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
41
- ?altLabel_uri skosxl:literalForm ?altLabel .
49
+ ?uri skosxl:altLabel [
50
+ dcterms:language ?language ;
51
+ skosxl:literalForm ?altLabel
52
+ ]
42
53
  }
43
54
  OPTIONAL {
44
- ?uri skos:scopeNote ?scopeNote_uri .
45
- ?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
46
- ?scopeNote_uri rdf:value ?scopeNote .
55
+ ?uri skos:scopeNote [
56
+ dcterms:language ?language ;
57
+ rdf:value ?scopeNote
58
+ ]
47
59
  }
48
60
  OPTIONAL {
49
61
  ?uri rdfs:seeAlso ?rdfs_seeAlso
50
62
  }
51
63
  OPTIONAL {
52
64
  ?uri gvp:broaderPreferred ?broader_uri .
53
- ?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
54
- ?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
55
- ?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
65
+ ?broader_uri skosxl:prefLabel [
66
+ dcterms:language ?language ;
67
+ skosxl:literalForm ?broader_prefLabel
68
+ ]
56
69
  }
57
70
  OPTIONAL {
58
71
  ?uri skos:narrower ?narrower_uri .
59
- ?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
60
- ?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
61
- ?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
72
+ ?narrower_uri skosxl:prefLabel [
73
+ dcterms:language ?language ;
74
+ skosxl:literalForm ?narrower_prefLabel
75
+ ]
62
76
  }
63
77
  OPTIONAL {
64
78
  ?uri skos:exactMatch ?exactMatch_uri .
65
- ?exactMatch_uri skosxl:prefLabel ?exactMatch_uri_skosxl .
66
- ?exactMatch_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
67
- ?exactMatch_uri_skosxl skosxl:literalForm ?exactMatch_prefLabel .
79
+ ?exactMatch_uri skosxl:prefLabel [
80
+ dcterms:language ?language ;
81
+ skosxl:literalForm ?exactMatch_prefLabel
82
+ ]
68
83
  }
69
84
  }
@@ -20,7 +20,9 @@ WHERE {
20
20
  ?uri a eurovoc:ThesaurusConcept ;
21
21
  ?predicate ?label .
22
22
  VALUES ?predicate { skos:prefLabel skos:altLabel }
23
- FILTER(LANG(?label) = "nl")
23
+
24
+ # TODO: define a search language. For example NL ‘brussel’ should not return ‘bladgroente’ with altLabel ‘Brussels sprouts’.
25
+ FILTER(LANG(?label) = "nl" || LANG(?label) = "en")
24
26
  # The http://publications.europa.eu/webapi/rdf/sparql endpoint
25
27
  # is based on Virtuoso but it looks like fulltext search support
26
28
  # is not enabled therefore fallback to the standard CONTAINS function
@@ -30,30 +32,30 @@ WHERE {
30
32
  }
31
33
  OPTIONAL {
32
34
  ?uri skos:prefLabel ?prefLabel .
33
- FILTER(LANG(?prefLabel) = "nl")
35
+ FILTER(LANG(?prefLabel) = "nl" || LANG(?prefLabel) = "en")
34
36
  }
35
37
  OPTIONAL {
36
38
  ?uri skos:altLabel ?altLabel .
37
- FILTER(LANG(?altLabel) = "nl")
39
+ FILTER(LANG(?altLabel) = "nl" || LANG(?altLabel) = "en")
38
40
  }
39
41
  OPTIONAL {
40
42
  ?uri skos:broader ?broader_uri .
41
43
  ?broader_uri skos:prefLabel ?broader_prefLabel .
42
- FILTER(LANG(?broader_prefLabel) = "nl")
44
+ FILTER(LANG(?broader_prefLabel) = "nl" || LANG(?broader_prefLabel) = "en")
43
45
  }
44
46
  OPTIONAL {
45
47
  ?uri skos:narrower ?narrower_uri .
46
48
  ?narrower_uri skos:prefLabel ?narrower_prefLabel .
47
- FILTER(LANG(?narrower_prefLabel) = "nl")
49
+ FILTER(LANG(?narrower_prefLabel) = "nl" || LANG(?narrower_prefLabel) = "en")
48
50
  }
49
51
  OPTIONAL {
50
52
  ?uri skos:related ?related_uri .
51
53
  ?related_uri skos:prefLabel ?related_prefLabel .
52
- FILTER(LANG(?related_prefLabel) = "nl")
54
+ FILTER(LANG(?related_prefLabel) = "nl" || LANG(?related_prefLabel) = "en")
53
55
  }
54
56
  OPTIONAL {
55
57
  ?uri skos:exactMatch ?exactMatch_uri .
56
58
  ?exactMatch_uri skos:exactMatch ?exactMatch_prefLabel .
57
- FILTER(LANG(?exactMatch_prefLabel) = "nl")
59
+ FILTER(LANG(?exactMatch_prefLabel) = "nl" || LANG(?exactMatch_prefLabel) = "en")
58
60
  }
59
61
  }
@@ -7,7 +7,7 @@ CONSTRUCT {
7
7
  ?uri a skos:Concept ;
8
8
  skos:prefLabel ?prefLabel_ext ;
9
9
  skos:altLabel ?altLabel ;
10
- skos:scopeNote ?scopeNote ;
10
+ skos:scopeNote ?scopeNote_en ;
11
11
  skos:broader ?broader ;
12
12
  vrank:simpleRank ?score .
13
13
  ?broader skos:prefLabel ?broader_prefLabel .
@@ -46,5 +46,7 @@ WHERE {
46
46
 
47
47
  OPTIONAL {
48
48
  ?uri gn:featureCode/gn:name ?scopeNote .
49
+ # scopeNote is always in English.
50
+ BIND(STRLANG(?scopeNote, "en") as ?scopeNote_en)
49
51
  }
50
52
  }
@@ -5,8 +5,8 @@ PREFIX som: <https://data.muziekschatten.nl/som/>
5
5
 
6
6
  CONSTRUCT {
7
7
  ?uri a skos:Concept;
8
- skos:prefLabel ?schema_name;
9
- skos:scopeNote ?scopeNote;
8
+ skos:prefLabel ?prefLabel;
9
+ skos:scopeNote ?scopeNote_nl, ?scopeNote_en;
10
10
  skos:broader ?broader_uri ;
11
11
  skos:exactMatch ?exactMatch_uri .
12
12
  ?broader_uri skos:prefLabel ?broader_schema_name .
@@ -24,13 +24,11 @@ WHERE {
24
24
  }
25
25
 
26
26
  OPTIONAL {
27
- ?uri schema:name ?schema_name .
28
- FILTER(LANG(?schema_name) = "nl")
27
+ ?uri schema:name ?prefLabel .
29
28
  }
30
29
  OPTIONAL {
31
30
  ?uri skos:broader ?broader_uri .
32
31
  ?broader_uri schema:name ?broader_schema_name .
33
- FILTER(LANG(?broader_schema_name) = "nl")
34
32
  }
35
33
  OPTIONAL {
36
34
  ?uri schema:keywords ?schema_keywords
@@ -39,11 +37,25 @@ WHERE {
39
37
  ?uri som:DC ?dc
40
38
  }
41
39
  BIND(
42
- COALESCE(
43
- IF(BOUND(?schema_keywords) && BOUND(?dc), CONCAT("Trefwoorden: ", ?schema_keywords, " | ", "Dewey: ", ?dc), ?noScopeNote),
44
- IF(BOUND(?schema_keywords), CONCAT("Trefwoorden: ", ?schema_keywords), ?noScopeNote),
45
- IF(BOUND(?dc), CONCAT("Dewey: ", ?dc), ?noScopeNote)
46
- ) AS ?scopeNote
40
+ STRLANG(
41
+ COALESCE(
42
+ IF(BOUND(?schema_keywords) && BOUND(?dc), CONCAT("Trefwoorden: ", ?schema_keywords, " | ", "Dewey: ", ?dc), ?noScopeNote),
43
+ IF(BOUND(?schema_keywords), CONCAT("Trefwoorden: ", ?schema_keywords), ?noScopeNote),
44
+ IF(BOUND(?dc), CONCAT("Dewey: ", ?dc), ?noScopeNote)
45
+ ),
46
+ "nl"
47
+ ) AS ?scopeNote_nl
48
+ )
49
+
50
+ BIND(
51
+ STRLANG(
52
+ COALESCE(
53
+ IF(BOUND(?schema_keywords) && BOUND(?dc), CONCAT("Keywords: ", ?schema_keywords, " | ", "Dewey: ", ?dc), ?noScopeNote),
54
+ IF(BOUND(?schema_keywords), CONCAT("Keywords: ", ?schema_keywords), ?noScopeNote),
55
+ IF(BOUND(?dc), CONCAT("Dewey: ", ?dc), ?noScopeNote)
56
+ ),
57
+ "en"
58
+ ) AS ?scopeNote_en
47
59
  )
48
60
 
49
61
  OPTIONAL { ?uri skos:exactMatch ?exactMatch_uri } # Has no labels.
@@ -43,7 +43,10 @@ WHERE {
43
43
 
44
44
  OPTIONAL { ?uri schema:name ?schema_name }
45
45
  OPTIONAL { ?uri schema:alternateName ?schema_alternateName }
46
- OPTIONAL { ?uri schema:hasOccupation ?schema_hasOccupation }
46
+ OPTIONAL {
47
+ ?uri schema:hasOccupation ?hasOccupation .
48
+ BIND(REPLACE(?hasOccupation, ";;;;;;;;;;;;", "") AS ?schema_hasOccupation)
49
+ }
47
50
 
48
51
  OPTIONAL { ?uri schema:familyName ?schema_familyName }
49
52
  OPTIONAL { ?uri schema:givenName ?schema_givenName }
@@ -6,16 +6,20 @@ CONSTRUCT {
6
6
  ?uri a skos:Concept ;
7
7
  skos:prefLabel ?prefLabel ;
8
8
  skos:altLabel ?altLabel ;
9
- skos:scopeNote ?scopeNote ;
9
+ skos:scopeNote ?scopeNote_nl, ?scopeNote_en ;
10
+ skos:exactMatch ?exactMatch_uri ;
10
11
  rdfs:seeAlso ?seeAlso .
11
12
  }
12
13
  WHERE {
13
14
  {
14
15
  SELECT DISTINCT ?uri
15
16
  (GROUP_CONCAT(DISTINCT ?schema_description; separator="; ") as ?descriptions)
16
- (GROUP_CONCAT(DISTINCT ?birthPlace; separator="/") as ?birthPlaces)
17
- (GROUP_CONCAT(DISTINCT ?deathPlace; separator="/") as ?deathPlaces)
18
- (GROUP_CONCAT(DISTINCT ?additionalType; separator=", ") as ?additionalTypes)
17
+ (GROUP_CONCAT(DISTINCT ?additionalType_nl; separator=", ") as ?additionalTypes_nl)
18
+ (GROUP_CONCAT(DISTINCT ?additionalType_en; separator=", ") as ?additionalTypes_en)
19
+ ?birthPlace_nl
20
+ ?birthPlace_en
21
+ ?deathPlace_nl
22
+ ?deathPlace_en
19
23
  WHERE {
20
24
  ?uri ?predicate ?label .
21
25
  ?label <bif:contains> ?virtuosoQuery .
@@ -25,13 +29,33 @@ WHERE {
25
29
  VALUES ?type { schema:Person schema:Organization }
26
30
 
27
31
  OPTIONAL { ?uri schema:description ?schema_description . }
28
- OPTIONAL { ?uri schema:birthPlace ?birthPlace .
29
- FILTER(langMatches(lang(?birthPlace), "nl")) }
30
- OPTIONAL { ?uri schema:deathPlace ?deathPlace .
31
- FILTER(langMatches(lang(?deathPlace), "nl"))}
32
- OPTIONAL { ?uri schema:additionalType ?additionalType .
33
- FILTER(langMatches(lang(?additionalType), "nl"))}
34
32
 
33
+ OPTIONAL {
34
+ ?uri schema:birthPlace ?birthPlace_nl .
35
+ FILTER(langMatches(lang(?birthPlace_nl), "nl"))
36
+ }
37
+ OPTIONAL {
38
+ ?uri schema:birthPlace ?birthPlace_en .
39
+ FILTER(langMatches(lang(?birthPlace_en), "en"))
40
+ }
41
+
42
+ OPTIONAL {
43
+ ?uri schema:deathPlace ?deathPlace_nl .
44
+ FILTER(langMatches(lang(?deathPlace_nl), "nl"))
45
+ }
46
+ OPTIONAL {
47
+ ?uri schema:deathPlace ?deathPlace_en .
48
+ FILTER(langMatches(lang(?deathPlace_en), "en"))
49
+ }
50
+
51
+ OPTIONAL {
52
+ ?uri schema:additionalType ?additionalType_nl .
53
+ FILTER(langMatches(lang(?additionalType_nl), "nl"))
54
+ }
55
+ OPTIONAL {
56
+ ?uri schema:additionalType ?additionalType_en .
57
+ FILTER(langMatches(lang(?additionalType_en), "en"))
58
+ }
35
59
  }
36
60
  #LIMIT#
37
61
  }
@@ -40,25 +64,55 @@ WHERE {
40
64
  OPTIONAL { ?uri schema:alternateName ?altLabel . }
41
65
  OPTIONAL { ?uri schema:birthDate ?birthDate . }
42
66
  OPTIONAL { ?uri schema:deathDate ?deathDate . }
67
+ OPTIONAL { ?uri rdfs:seeAlso ?exactMatch_uri . }
43
68
 
44
69
  BIND(
45
- CONCAT(
46
- IF(BOUND(?birthDate) || STRLEN(?birthPlaces) > 0 ,
70
+ STRLANG(
47
71
  CONCAT(
48
- IF(BOUND(?birthDate), CONCAT(?birthDate, " "), ""),
49
- IF(STRLEN(?birthPlaces) > 0, CONCAT("(", ?birthPlaces, ") "), ""),
50
- IF(BOUND(?deathDate) || STRLEN(?deathPlaces) > 0," - "," - ; ")),
51
- ""),
52
- IF(BOUND(?deathDate) || STRLEN(?deathPlaces) > 0,
72
+ IF(BOUND(?birthDate) || STRLEN(?birthPlace_nl) > 0,
73
+ CONCAT(
74
+ IF(BOUND(?birthDate), CONCAT(?birthDate, " "), ""),
75
+ IF(STRLEN(?birthPlace_nl) > 0, CONCAT("(", ?birthPlace_nl, ") "), ""),
76
+ IF(BOUND(?deathDate) || STRLEN(?deathPlace_nl) > 0," - "," – ; ")),
77
+ ""
78
+ ),
79
+ IF(BOUND(?deathDate) || STRLEN(?deathPlace_nl) > 0,
80
+ CONCAT(
81
+ IF(BOUND(?birthDate) || STRLEN(?birthPlace_nl) > 0, "", "– "),
82
+ IF(BOUND(?deathDate), CONCAT(?deathDate, " "), ""),
83
+ IF(STRLEN(?deathPlace_nl) > 0, CONCAT("(", ?deathPlace_nl, ")"), ""),
84
+ "; "),
85
+ ""
86
+ ),
87
+ IF(STRLEN(?additionalTypes_nl) > 0, CONCAT(?additionalTypes_nl, ". "), ""),
88
+ IF(STRLEN(?descriptions) > 0, CONCAT(?descriptions, ". "), "")
89
+ ),
90
+ "nl"
91
+ ) as ?scopeNote_nl
92
+ )
93
+ BIND(
94
+ STRLANG(
53
95
  CONCAT(
54
- IF(BOUND(?birthDate) || STRLEN(?birthPlaces) > 0 , "", "- "),
55
- IF(BOUND(?deathDate), CONCAT(?deathDate, " "), ""),
56
- IF(STRLEN(?deathPlaces) > 0, CONCAT("(", ?deathPlaces, ")"), ""),
57
- "; "),
58
- ""),
59
- IF(STRLEN(?additionalTypes) > 0, CONCAT(?additionalTypes, ". "), ""),
60
- IF(STRLEN(?descriptions) > 0, CONCAT(?descriptions, ". "), "")
61
- ) as ?scopeNote
96
+ IF(BOUND(?birthDate) || STRLEN(?birthPlace_en) > 0,
97
+ CONCAT(
98
+ IF(BOUND(?birthDate), CONCAT(?birthDate, " "), ""),
99
+ IF(STRLEN(?birthPlace_en) > 0, CONCAT("(", ?birthPlace_en, ") "), ""),
100
+ IF(BOUND(?deathDate) || BOUND(?deathPlace_en)," - "," – ; ")),
101
+ ""
102
+ ),
103
+ IF(BOUND(?deathDate) || BOUND(?deathPlace_en),
104
+ CONCAT(
105
+ IF(BOUND(?birthDate) || BOUND(?birthPlace_en), "", "– "),
106
+ IF(BOUND(?deathDate), CONCAT(?deathDate, " "), ""),
107
+ IF(STRLEN(?deathPlace_nl) > 0, CONCAT("(", ?deathPlace_en, ")"), ""),
108
+ "; "),
109
+ ""
110
+ ),
111
+ IF(STRLEN(?additionalTypes_nl) > 0, CONCAT(?additionalTypes_en, ". "), ""),
112
+ IF(STRLEN(?descriptions) > 0, CONCAT(?descriptions, ". "), "")
113
+ ),
114
+ "en"
115
+ ) as ?scopeNote_en
62
116
  )
63
117
  BIND(STRAFTER(STR(?uri), "https://data.rkd.nl/artists/") AS ?identifier)
64
118
  BIND(IRI(CONCAT("https://rkd.nl/explore/artists/", ?identifier)) AS ?seeAlso)
@@ -17,8 +17,6 @@ WHERE {
17
17
  skos:inScheme som:Uitvoeringsmedium ;
18
18
  skos:prefLabel ?prefLabel .
19
19
 
20
- FILTER(LANG(?prefLabel) = "nl")
21
-
22
20
  ?uri ?predicate ?label .
23
21
  VALUES ?predicate { skos:prefLabel skos:altLabel }
24
22
  ?label <bif:contains> ?virtuosoQuery .
@@ -33,13 +31,11 @@ WHERE {
33
31
 
34
32
  OPTIONAL {
35
33
  ?uri skos:altLabel ?altLabel .
36
- FILTER(LANG(?altLabel) = "nl")
37
34
  }
38
35
 
39
36
  OPTIONAL {
40
37
  ?uri skos:broader ?broader_uri .
41
38
  ?broader_uri skos:prefLabel ?broader_prefLabel .
42
- FILTER(LANG(?broader_prefLabel) = "nl")
43
39
  }
44
40
 
45
41
  OPTIONAL { ?uri skos:exactMatch ?exactMatch_uri } # Has no labels.
@@ -26,14 +26,14 @@ WHERE {
26
26
  ?ordinal wikibase:apiOrdinal true.
27
27
  }
28
28
  ?item rdfs:label ?rdfs_label .
29
- FILTER(LANG(?rdfs_label) = "nl")
29
+ FILTER(LANG(?rdfs_label) = "nl" || LANG(?rdfs_label) = "en")
30
30
  OPTIONAL {
31
31
  ?item skos:altLabel ?altLabel .
32
- FILTER(LANG(?altLabel) = "nl")
32
+ FILTER(LANG(?altLabel) = "nl" || LANG(?altLabel) = "en")
33
33
  }
34
34
  OPTIONAL {
35
35
  ?item schema:description ?schema_description
36
- FILTER(LANG(?schema_description) = "nl")
36
+ FILTER(LANG(?schema_description) = "nl" || LANG(?schema_description) = "en")
37
37
  }
38
38
  BIND(-?ordinal AS ?score)
39
39
  }
@@ -42,14 +42,14 @@ WHERE {
42
42
 
43
43
  OPTIONAL {
44
44
  ?item rdfs:label ?prefLabel .
45
- FILTER(LANG(?prefLabel) = "nl")
45
+ FILTER(LANG(?prefLabel) = "nl" || LANG(?prefLabel) = "en")
46
46
  }
47
47
  OPTIONAL {
48
48
  ?item skos:altLabel ?altLabel .
49
- FILTER(LANG(?altLabel) = "nl"||LANG(?altLabel) = "en")
49
+ FILTER(LANG(?altLabel) = "nl"|| LANG(?altLabel) = "en")
50
50
  }
51
51
  OPTIONAL {
52
52
  ?item schema:description ?description
53
- FILTER(LANG(?description) = "nl")
53
+ FILTER(LANG(?description) = "nl" || LANG(?description) = "en")
54
54
  }
55
55
  }
@@ -72,14 +72,14 @@ WHERE {
72
72
 
73
73
  OPTIONAL {
74
74
  ?item rdfs:label ?prefLabel .
75
- FILTER(LANG(?prefLabel) = "nl")
75
+ FILTER(LANG(?prefLabel) = "nl" || LANG(?prefLabel) = "en")
76
76
  }
77
77
  OPTIONAL {
78
78
  ?item skos:altLabel ?altLabel .
79
- FILTER(LANG(?altLabel) = "nl")
79
+ FILTER(LANG(?altLabel) = "nl" || LANG(?altLabel) = "en")
80
80
  }
81
81
  OPTIONAL {
82
82
  ?item schema:description ?schema_description
83
- FILTER(LANG(?schema_description) = "nl")
83
+ FILTER(LANG(?schema_description) = "nl" || LANG(?schema_description) = "en")
84
84
  }
85
85
  }
@@ -52,36 +52,15 @@ WHERE {
52
52
  #LIMIT#
53
53
  }
54
54
  OPTIONAL {
55
- ?item wdt:P276 ?location .
56
- ?location rdfs:label ?locationName .
57
- FILTER LANGMATCHES(LANG(?locationName),"nl")
58
- }
59
- OPTIONAL {
60
- ?item schema:description ?description
61
- FILTER(LANG(?description) = "nl")
55
+ ?item rdfs:label ?streetName .
56
+ FILTER(LANG(?streetName) = "nl" || LANG(?streetName) = "en")
62
57
  }
63
58
  OPTIONAL {
64
59
  ?item skos:altLabel ?altLabel
65
- FILTER(LANG(?altLabel) = "nl")
60
+ FILTER(LANG(?altLabel) = "nl" || LANG(?altLabel) = "en")
66
61
  }
67
62
  OPTIONAL {
68
- ?item rdfs:label ?streetName .
69
- FILTER LANGMATCHES(LANG(?streetName), "nl")
70
- }
71
- OPTIONAL {
72
- ?item wdt:P131/rdfs:label ?administrationName .
73
- FILTER LANGMATCHES(LANG(?administrationName), "nl")
63
+ ?item schema:description ?description
64
+ FILTER(LANG(?description) = "nl" || LANG(?description) = "en")
74
65
  }
75
-
76
- # Some streets come with altLabel ‘Street name (Place name)’. For those that don’t, construct the altLabel manually.
77
- BIND(
78
- COALESCE(
79
- ?altLabel,
80
- IF(
81
- BOUND(?locationName),
82
- CONCAT(?streetName," (",?locationName,")"),
83
- CONCAT(?streetName," (",?administrationName,")")
84
- )
85
- ) as ?altLabel
86
- )
87
66
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netwerk-digitaal-erfgoed/network-of-terms-catalog",
3
- "version": "10.0.2",
3
+ "version": "10.2.0",
4
4
  "type": "module",
5
5
  "description": "Catalog of Network of Terms datasets",
6
6
  "repository": {
@@ -45,7 +45,7 @@
45
45
  "@comunica/query-sparql": "^4.1.0",
46
46
  "@comunica/query-sparql-rdfjs": "^4.1.0",
47
47
  "@comunica/utils-bindings-factory": "^4.0.2",
48
- "@netwerk-digitaal-erfgoed/network-of-terms-query": "6.0.0",
48
+ "@netwerk-digitaal-erfgoed/network-of-terms-query": "6.2.0",
49
49
  "globby": "^14.0.2",
50
50
  "ldkit": "^2.1.0",
51
51
  "memoize": "^10.0.0",