Closed hankat closed 1 year ago
Zatím jsem se snažila přeložit otázku jen do SPARQL SELECT:
SELECT DISTINCT ?manufacturer ?test ?PEIsensitivityHVL
WHERE {
{?test a act:AntigenCovidTest ;
schema:manufacturer ?manufacturer .
?PEI a ncit:C41394 ;
dcterms:creator <https://www.pei.de> ;
dcterms:subject ?test;
act:peiSensitivityCategory <https://covidtesty.vse.cz/data/concept/citlivost-pei/kategorie/citlivost--25> ;
rdf:value ?PEIsensitivityHVL . }
{
?test2 a act:AntigenCovidTest ;
schema:manufacturer ?manufacturer2 .
?PEI2 a ncit:C41394 ;
dcterms:creator <https://www.pei.de> ;
dcterms:subject ?test2;
act:peiSensitivityCategory <https://covidtesty.vse.cz/data/concept/citlivost-pei/kategorie/citlivost--25> ;
rdf:value ?PEIsensitivityHVL2 .
}
FILTER (?test!=?test2)
FILTER (?PEI != ?PEI2)
FILTER (?manufacturer=?manufacturer2)
}
ORDER BY (?manufacturer)
Ale úplně to asi nebude to, co bychom potřebovali. Protože tímto bychom jen potvrdili, že sloučení výrobce funguje, protože už nám to najde nějaké výsledky (u některých výrobců byla dostačující metoda sloučení URL merge).
Napadá mě, jestli by validace dat pomocí té navrhované CQ šla udělat tak, že bychom měli nějakou proměnnou s názvem výrobců, u kterých víme, že merge neproběhl, za tuto proměnnou by se postupně dosazovaly názvy výrobců (zástupce vždy z jedné té skupiny, které vznikly v dokumentu. A vlastně do té CQ by se dosazoval vždy už jen jeden konkrétní výrobce. Tímto by probíhala tedy evaluace, že merge výrobců funguje/nefunguje pro všechny skupiny výrobců.
Co myslíš @jindrichmynarz ?
Lze to přeložit třeba takto:
PREFIX act: <https://covidtesty.vse.cz/vocabulary#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX ncit: <http://purl.obolibrary.org/obo/NCIT_>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX schema: <http://schema.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?test
WHERE {
$manufacturer ^schema:manufacturer ?test, ?other_test .
?test a act:AntigenCovidTest .
?other_test a act:AntigenCovidTest .
FILTER (!sameTerm(?test, ?other_test))
[] a ncit:C41394 ;
dcterms:subject ?test ;
dcterms:creator <https://www.pei.de> ;
act:peiSensitivityCategory/skos:altLabel "high viral load"@en ;
rdf:value ?sensitivity .
}
ORDER BY DESC(?sensitivity)
LIMIT 1
Přičemž, $manufacturer
je daný výrobce.
Ale úplně to asi nebude to, co bychom potřebovali. Protože tímto bychom jen potvrdili, že sloučení výrobce funguje.
Proč myslíš? Test právě má ověřit, jestli postup slučování výrobců funguje.
V 57ed75df08ffa7761ffc9a10baf9aebee5d746a6 jsem přidal CQ porovnávají testy dle výrobce. Můžeme přidat další CQ, nebo toto téma uzavřít.
Proč myslíš? Test právě má ověřit, jestli postup slučování výrobců funguje.
Protože nyní nám takto naimplementovaná otázka nevyhodí chyby a my víme, že to sloučení výrobců zatím nefunguje na 100 %. Proto mě zajímalo, jestli by šlo za výrobce dosadit přímo nějaké konkrétní výrobce, které jsou zástupci těch tří skupin (z dokumentu na Drivu), kde víme, že sloučení ještě neproběhlo. Tak abychom při řešení sloučení výrobců mohli postupně ověřovat, zda nám to už opravdu funguje tak jak má, a že se sloučili všichni výrobci.
Tato CQ nám nevrací chybu, protože jsem chybu generování neunikátních IRI výrobců opravili. Je pravdou, že duplicita výrobců není opravena úplně, protože jsme opravili jen tu, kterou jsme chybou v transformaci vytvářeli sami. Neopravili jsme ale zcela všechnu duplicitu výrobců ve zdrojových datech vyjma #17. Úplnou deduplikaci nám ale žádná kompetenční otázka nepotvrdí.
Ok, v tom případě máme toto issue hotové.
CQ19 Choose at least two tests that come from one given manufacturer. Which of these tests has higher sensitivity for high viral load tested by PEI?
_Originally posted by @hank05-vse in https://github.com/jindrichmynarz/antigen-covid-tests-knowledge-graph/pull/21#discussion_r1123847349_