KIZI / antigen-covid-tests-knowledge-graph

Antigen covid tests knowledge graph
Eclipse Public License 2.0
0 stars 0 forks source link

Návrh CQ, která porovnává testy od jednoho výrobce #25

Closed hankat closed 1 year ago

hankat commented 1 year ago

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_

hankat commented 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 ?

jindrichmynarz commented 1 year ago

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.

jindrichmynarz commented 1 year ago

V 57ed75df08ffa7761ffc9a10baf9aebee5d746a6 jsem přidal CQ porovnávají testy dle výrobce. Můžeme přidat další CQ, nebo toto téma uzavřít.

hankat commented 1 year ago

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.

jindrichmynarz commented 1 year ago

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í.

hankat commented 1 year ago

Ok, v tom případě máme toto issue hotové.