Skip to content

Commit

Permalink
feat: Use subquery for complete results (#1367)
Browse files Browse the repository at this point in the history
Try this with AAT first and see if the results are consistent.
  • Loading branch information
ddeboer authored Jun 19, 2024
1 parent e66af29 commit 246de0c
Show file tree
Hide file tree
Showing 4 changed files with 160 additions and 156 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,46 +22,46 @@ CONSTRUCT {
?exactMatch_uri skos:prefLabel ?exactMatch_prefLabel .
}
WHERE {
?uri luc:term ?query ;
a ?type ;
void:inDataset <http://vocab.getty.edu/dataset/aat> .
SELECT * WHERE {
?uri luc:term ?query ;
a ?type ;
void:inDataset <http://vocab.getty.edu/dataset/aat> ;
gvp:broaderPreferred+ <http://vocab.getty.edu/aat/300010357> . # limit results to the "materials hierarchy name" (300010357)

# limit results to the "materials hierarchy name" (300010357)
?uri gvp:broaderPreferred+ <http://vocab.getty.edu/aat/300010357> .

?type rdfs:subClassOf gvp:Subject .
FILTER (?type != gvp:Subject) .
?uri skosxl:prefLabel ?prefLabel_uri .
?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?prefLabel_uri skosxl:literalForm ?prefLabel .
OPTIONAL {
?uri skosxl:altLabel ?altLabel_uri .
?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?altLabel_uri skosxl:literalForm ?altLabel .
}
OPTIONAL {
?uri skos:scopeNote ?scopeNote_uri .
?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
?scopeNote_uri rdf:value ?scopeNote .
}
OPTIONAL {
?uri rdfs:seeAlso ?rdfs_seeAlso
}
OPTIONAL {
?uri gvp:broaderPreferred ?broader_uri .
?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
}
OPTIONAL {
?uri skos:narrower ?narrower_uri .
?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
}
OPTIONAL {
?uri skos:exactMatch ?exactMatch_uri . # Has no labels.
FILTER(?exactMatch_uri != ?uri) # Exclude self-reference.
?type rdfs:subClassOf gvp:Subject .
FILTER (?type != gvp:Subject) .
?uri skosxl:prefLabel ?prefLabel_uri .
?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?prefLabel_uri skosxl:literalForm ?prefLabel .
OPTIONAL {
?uri skosxl:altLabel ?altLabel_uri .
?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?altLabel_uri skosxl:literalForm ?altLabel .
}
OPTIONAL {
?uri skos:scopeNote ?scopeNote_uri .
?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
?scopeNote_uri rdf:value ?scopeNote .
}
OPTIONAL {
?uri rdfs:seeAlso ?rdfs_seeAlso
}
OPTIONAL {
?uri gvp:broaderPreferred ?broader_uri .
?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
}
OPTIONAL {
?uri skos:narrower ?narrower_uri .
?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
}
OPTIONAL {
?uri skos:exactMatch ?exactMatch_uri . # Has no labels.
FILTER(?exactMatch_uri != ?uri) # Exclude self-reference.
}
}
LIMIT 1000
}
LIMIT 1000
Original file line number Diff line number Diff line change
Expand Up @@ -21,46 +21,46 @@ CONSTRUCT {
?narrower_uri skos:prefLabel ?narrower_prefLabel .
}
WHERE {
?uri luc:term ?query ;
a ?type ;
void:inDataset <http://vocab.getty.edu/dataset/aat> .
SELECT * WHERE {
?uri luc:term ?query ;
a ?type ;
void:inDataset <http://vocab.getty.edu/dataset/aat> ;
gvp:broaderPreferred+ <http://vocab.getty.edu/aat/300053001> . # limit results to the "processes and techniques hierarchy name (300053001)"

# limit results to the "processes and techniques hierarchy name (300053001)"
?uri gvp:broaderPreferred+ <http://vocab.getty.edu/aat/300053001> .

?type rdfs:subClassOf gvp:Subject .
FILTER (?type != gvp:Subject) .
?uri skosxl:prefLabel ?prefLabel_uri .
?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?prefLabel_uri skosxl:literalForm ?prefLabel .
OPTIONAL {
?uri skosxl:altLabel ?altLabel_uri .
?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?altLabel_uri skosxl:literalForm ?altLabel .
}
OPTIONAL {
?uri skos:scopeNote ?scopeNote_uri .
?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
?scopeNote_uri rdf:value ?scopeNote .
}
OPTIONAL {
?uri rdfs:seeAlso ?rdfs_seeAlso
}
OPTIONAL {
?uri gvp:broaderPreferred ?broader_uri .
?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
}
OPTIONAL {
?uri skos:narrower ?narrower_uri .
?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
}
OPTIONAL {
?uri skos:exactMatch ?exactMatch_uri . # Has no labels.
FILTER(?exactMatch_uri != ?uri) # Exclude self-reference.
?type rdfs:subClassOf gvp:Subject .
FILTER (?type != gvp:Subject) .
?uri skosxl:prefLabel ?prefLabel_uri .
?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?prefLabel_uri skosxl:literalForm ?prefLabel .
OPTIONAL {
?uri skosxl:altLabel ?altLabel_uri .
?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?altLabel_uri skosxl:literalForm ?altLabel .
}
OPTIONAL {
?uri skos:scopeNote ?scopeNote_uri .
?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
?scopeNote_uri rdf:value ?scopeNote .
}
OPTIONAL {
?uri rdfs:seeAlso ?rdfs_seeAlso
}
OPTIONAL {
?uri gvp:broaderPreferred ?broader_uri .
?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
}
OPTIONAL {
?uri skos:narrower ?narrower_uri .
?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
}
OPTIONAL {
?uri skos:exactMatch ?exactMatch_uri . # Has no labels.
FILTER(?exactMatch_uri != ?uri) # Exclude self-reference.
}
}
LIMIT 1000
}
LIMIT 1000
Original file line number Diff line number Diff line change
Expand Up @@ -21,46 +21,48 @@ CONSTRUCT {
?narrower_uri skos:prefLabel ?narrower_prefLabel .
}
WHERE {
?uri luc:term ?query ;
SELECT * WHERE {
?uri luc:term ?query ;
a ?type ;
void:inDataset <http://vocab.getty.edu/dataset/aat> .

# limit results to the "styles and periodes hierarchy name (300015646)"
?uri gvp:broaderPreferred+ <http://vocab.getty.edu/aat/300015646> .
# limit results to the "styles and periodes hierarchy name (300015646)"
?uri gvp:broaderPreferred+ <http://vocab.getty.edu/aat/300015646> .

?type rdfs:subClassOf gvp:Subject .
FILTER (?type != gvp:Subject) .
?uri skosxl:prefLabel ?prefLabel_uri .
?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?prefLabel_uri skosxl:literalForm ?prefLabel .
OPTIONAL {
?uri skosxl:altLabel ?altLabel_uri .
?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?altLabel_uri skosxl:literalForm ?altLabel .
}
OPTIONAL {
?uri skos:scopeNote ?scopeNote_uri .
?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
?scopeNote_uri rdf:value ?scopeNote .
}
OPTIONAL {
?uri rdfs:seeAlso ?rdfs_seeAlso
}
OPTIONAL {
?uri gvp:broaderPreferred ?broader_uri .
?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
}
OPTIONAL {
?uri skos:narrower ?narrower_uri .
?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
}
OPTIONAL {
?uri skos:exactMatch ?exactMatch_uri . # Has no labels.
FILTER(?exactMatch_uri != ?uri) # Exclude self-reference.
?type rdfs:subClassOf gvp:Subject .
FILTER (?type != gvp:Subject) .
?uri skosxl:prefLabel ?prefLabel_uri .
?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?prefLabel_uri skosxl:literalForm ?prefLabel .
OPTIONAL {
?uri skosxl:altLabel ?altLabel_uri .
?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?altLabel_uri skosxl:literalForm ?altLabel .
}
OPTIONAL {
?uri skos:scopeNote ?scopeNote_uri .
?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
?scopeNote_uri rdf:value ?scopeNote .
}
OPTIONAL {
?uri rdfs:seeAlso ?rdfs_seeAlso
}
OPTIONAL {
?uri gvp:broaderPreferred ?broader_uri .
?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
}
OPTIONAL {
?uri skos:narrower ?narrower_uri .
?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
}
OPTIONAL {
?uri skos:exactMatch ?exactMatch_uri . # Has no labels.
FILTER(?exactMatch_uri != ?uri) # Exclude self-reference.
}
}
LIMIT 1000
}
LIMIT 1000
80 changes: 41 additions & 39 deletions packages/network-of-terms-catalog/catalog/queries/search/aat.rq
Original file line number Diff line number Diff line change
Expand Up @@ -22,44 +22,46 @@ CONSTRUCT {
?exactMatch_uri skos:prefLabel ?exactMatch_prefLabel .
}
WHERE {
?uri luc:term ?query ;
a ?type ;
void:inDataset <http://vocab.getty.edu/dataset/aat> .
?type rdfs:subClassOf gvp:Subject .
FILTER (?type != gvp:Subject) .
?uri skosxl:prefLabel ?prefLabel_uri .
?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?prefLabel_uri skosxl:literalForm ?prefLabel .
OPTIONAL {
?uri skosxl:altLabel ?altLabel_uri .
?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?altLabel_uri skosxl:literalForm ?altLabel .
}
OPTIONAL {
?uri skos:scopeNote ?scopeNote_uri .
?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
?scopeNote_uri rdf:value ?scopeNote .
}
OPTIONAL {
?uri rdfs:seeAlso ?rdfs_seeAlso
}
OPTIONAL {
?uri gvp:broaderPreferred ?broader_uri .
?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
}
OPTIONAL {
?uri skos:narrower ?narrower_uri .
?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
}
OPTIONAL {
?uri skos:exactMatch ?exactMatch_uri .
?exactMatch_uri skosxl:prefLabel ?exactMatch_uri_skosxl .
?exactMatch_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?exactMatch_uri_skosxl skosxl:literalForm ?exactMatch_prefLabel .
SELECT * WHERE {
?uri luc:term ?query ;
a ?type ;
void:inDataset <http://vocab.getty.edu/dataset/aat> .
?type rdfs:subClassOf gvp:Subject .
FILTER (?type != gvp:Subject) .
?uri skosxl:prefLabel ?prefLabel_uri .
?prefLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?prefLabel_uri skosxl:literalForm ?prefLabel .
OPTIONAL {
?uri skosxl:altLabel ?altLabel_uri .
?altLabel_uri dcterms:language aat:300388256 . # Dutch (language)
?altLabel_uri skosxl:literalForm ?altLabel .
}
OPTIONAL {
?uri skos:scopeNote ?scopeNote_uri .
?scopeNote_uri dcterms:language aat:300388256 . # Dutch (language)
?scopeNote_uri rdf:value ?scopeNote .
}
OPTIONAL {
?uri rdfs:seeAlso ?rdfs_seeAlso
}
OPTIONAL {
?uri gvp:broaderPreferred ?broader_uri .
?broader_uri skosxl:prefLabel ?broader_uri_skosxl .
?broader_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?broader_uri_skosxl skosxl:literalForm ?broader_prefLabel .
}
OPTIONAL {
?uri skos:narrower ?narrower_uri .
?narrower_uri skosxl:prefLabel ?narrower_uri_skosxl .
?narrower_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?narrower_uri_skosxl skosxl:literalForm ?narrower_prefLabel .
}
OPTIONAL {
?uri skos:exactMatch ?exactMatch_uri .
?exactMatch_uri skosxl:prefLabel ?exactMatch_uri_skosxl .
?exactMatch_uri_skosxl dcterms:language aat:300388256 . # Dutch (language)
?exactMatch_uri_skosxl skosxl:literalForm ?exactMatch_prefLabel .
}
}
LIMIT 1000
}
LIMIT 1000

0 comments on commit 246de0c

Please sign in to comment.