News on Temporal Conjunctive Queries Veronika Thost TU Dresden WSP@ISWC October 22, 2017
Ontology-Based Data Access Use Case: Finding Participants for Clinical Trial Example 1 • Previously infected with VZV or previously vaccinated with VZV vaccine • No Allergy to VZV vaccine 1 https://clinicaltrials.gov/ct2/show/NCT01953900 2 / 8
Ontology-Based Data Access Patients infected with VZV? PID Name PID Finding Date PID AllergyTest Date 1 Ann 1 Chickenpox 08 / 2017 1 neg 07 / 2017 2 Bob 2 VZV-Infection 01 / 2010 2 pos 09 / 2017 3 Chris 3 VZV-Infection 11 / 2011 3 neg 06 / 1970 Patient Finding Test 3 / 8
Ontology-Based Data Access Patients infected with VZV? SELECT ID FROM Pat WHERE Pat .PID= Find .PID & Find .TYPE=VZVInfect PID Name PID Finding Date PID AllergyTest Date 1 Ann 1 Chickenpox 08 / 2017 1 neg 07 / 2017 2 Bob 2 VZV-Infection 01 / 2010 2 pos 09 / 2017 3 Chris 3 VZV-Infection 11 / 2011 3 neg 06 / 1970 Patient Finding Test 3 / 8
Ontology-Based Data Access Patients infected with VZV? Patient VZV Virus Chickenpox VZVInfection ∃ AllergyTo HasFinding Allergy PID Name PID Finding Date PID AllergyTest Date 1 Ann 1 Chickenpox 08 / 2017 1 neg 07 / 2017 2 Bob 2 VZV-Infection 01 / 2010 2 pos 09 / 2017 3 Chris 3 VZV-Infection 11 / 2011 3 neg 06 / 1970 Patient Finding Test 3 / 8
Ontology-Based Data Access Patients infected with VZV? Patient VZV Virus Chickenpox VZVInfection ∃ AllergyTo HasFinding Allergy PID Name PID Finding Date PID AllergyTest Date 1 Ann 1 Chickenpox 08 / 2017 1 neg 07 / 2017 2 Bob 2 VZV-Infection 01 / 2010 2 pos 09 / 2017 3 Chris 3 VZV-Infection 11 / 2011 3 neg 06 / 1970 Patient Finding Test 3 / 8
Ontology-Based Data Access Patients infected with VZV? Patient VZV Virus Chickenpox VZVInfection ∃ AllergyTo HasFinding Allergy AllergyTest = pos PID Name PID Finding Date PID AllergyTest Date 1 Ann 1 Chickenpox 08 / 2017 1 neg 07 / 2017 2 Bob 2 VZV-Infection 01 / 2010 2 pos 09 / 2017 3 Chris 3 VZV-Infection 11 / 2011 3 neg 06 / 1970 Patient Finding Test 3 / 8
Ontology-Based Data Access Patients infected with VZV? Patient VZV Virus Chickenpox VZVInfection ∃ AllergyTo HasFinding Allergy PID Name PID Finding Date PID AllergyTest Date Patient ( ann ) 1 Ann 1 Chickenpox 08 / 2017 1 neg 07 / 2017 ¬∃ AllergyTo ( ann ) 2 Bob 2 VZV-Infection 01 / 2010 HasFinding ( ann , f1 ) 2 pos 09 / 2017 3 Chris 3 VZV-Infection 11 / 2011 3 neg 06 / 1970 Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access Patients infected with VZV? Answer: x Patient ( x ) ∧ ∃ y. HasFinding ( x, y ) ∧ VZVInfection ( y ) Patient VZV Virus Chickenpox VZVInfection ∃ AllergyTo HasFinding Allergy PID Name PID Finding Date PID AllergyTest Date Patient ( ann ) 1 Ann 1 Chickenpox 08 / 2017 1 neg 07 / 2017 ¬∃ AllergyTo ( ann ) 2 Bob 2 VZV-Infection 01 / 2010 HasFinding ( ann , f1 ) 2 pos 09 / 2017 3 Chris 3 VZV-Infection 11 / 2011 3 neg 06 / 1970 Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access Patients infected with VZV? Answer: x Patient ( x ) ∧ ∃ y. HasFinding ( x, y ) ∧ VZVInfection ( y ) Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∃ AllergyTo HasFinding Allergy Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access Patients infected with VZV? Answer: x Patient ( x ) ∧ ∃ y. HasFinding ( x, y ) ∧ VZVInfection ( y ) Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∀ xy. HasFinding ( x, y ) ∧ Allergy ( y ) → ∃ AllergyTo ( x ) Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access Patients infected with VZV? Answer: x = ann Patient ( x ) ∧ ∃ y. HasFinding ( x, y ) ∧ VZVInfection ( y ) Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∀ xy. HasFinding ( x, y ) ∧ Allergy ( y ) → ∃ AllergyTo ( x ) Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access: Temporal Queries Patients infected with VZV previously, not allergic to VZV vaccine (now)? Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∀ xy. HasFinding ( x, y ) ∧ Allergy ( y ) → ∃ AllergyTo ( x ) Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access: Temporal Queries Patients infected with VZV previously, not allergic to VZV vaccine (now)? Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∀ xy. HasFinding ( x, y ) ∧ Allergy ( y ) → ∃ AllergyTo ( x ) 07 / 17 08 / 17 09 / 17 Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access: Temporal Queries Patients infected with VZV previously, not allergic to VZV vaccine (now)? Patient ( x ) ∧ � P ∃ y. HasFinding ( x, y ) ∧ VZVInfection ( x ) Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∀ xy. HasFinding ( x, y ) ∧ Allergy ( y ) → ∃ AllergyTo ( x ) 07 / 17 08 / 17 09 / 17 Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access: Temporal Queries Patients infected with VZV previously, not allergic to VZV vaccine (now)? Patient ( x ) ∧ � P ∃ y. HasFinding ( x, y ) ∧ VZVInfection ( x ) ∧ ¬∃ y. AllergyTo ( x, y ) ∧ VZVVaccine ( y ) Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∀ xy. HasFinding ( x, y ) ∧ Allergy ( y ) → ∃ AllergyTo ( x ) 07 / 17 08 / 17 09 / 17 Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access: Temporal Queries Patients infected with VZV previously, not allergic to VZV vaccine (now)? Patient ( x ) ∧ � P ∃ y. HasFinding ( x, y ) ∧ VZVInfection ( x ) ∧ ¬∃ y. AllergyTo ( x, y ) ∧ VZVVaccine ( y ) Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∀ xy. HasFinding ( x, y ) ∧ Allergy ( y ) → ∃ AllergyTo ( x ) 07 / 17 08 / 17 09 / 17 Patient ( ann ) Patient ( ann ) Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access: Temporal Queries Patients infected with VZV previously, not allergic to VZV vaccine (now)? Patient ( x ) ∧ � P ∃ y. HasFinding ( x, y ) ∧ VZVInfection ( x ) ∧ ¬∃ y. AllergyTo ( x, y ) ∧ VZVVaccine ( y ) Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∀ xy. HasFinding ( x, y ) ∧ Allergy ( y ) → ∃ AllergyTo ( x ) 07 / 17 08 / 17 09 / 17 Patient ( ann ) Patient ( ann ) Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) ¬∃ AllergyTo ( ann ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access: Temporal Queries with Rigid Symbols Patients infected with VZV previously, not allergic to VZV vaccine (now)? Patient ( x ) ∧ � P ∃ y. HasFinding ( x, y ) ∧ VZVInfection ( x ) ∧ ¬∃ y. AllergyTo ( x, y ) ∧ VZVVaccine ( y ) Patient ∀ x. VZV ( x ) → Virus ( x ) ∀ x. Chickenpox ( x ) → VZVInfection ( x ) ∀ xy. HasFinding ( x, y ) ∧ Allergy ( y ) → ∃ AllergyTo ( x ) 07 / 17 08 / 17 09 / 17 Patient ( ann ) Patient ( ann ) Patient ( ann ) ¬∃ AllergyTo ( ann ) HasFinding ( ann , f1 ) ¬∃ AllergyTo ( ann ) Chickenpox ( f1 ) Patient ( bob ) Patient Finding Test 3 / 8
Ontology-Based Data Access: Temporal Queries • Temporal conjunctive queries: conjunctive queries (CQs) + LTL 4 / 8
Ontology-Based Data Access: Temporal Queries • Temporal conjunctive queries: conjunctive queries (CQs) + LTL TCQ q 1 , q 2 := CQ q | ¬ q 1 (not) | q 1 ∧ q 2 (and) | q 1 ∨ q 2 (or) | 4 / 8
Ontology-Based Data Access: Temporal Queries • Temporal conjunctive queries: conjunctive queries (CQs) + LTL TCQ q 1 , q 2 := CQ q | ¬ q 1 (not) | q 1 ∧ q 2 (and) | q 1 ∨ q 2 (or) | � F q 1 (next) | � P q 1 (previous) | q 1 � P q 1 4 / 8
Ontology-Based Data Access: Temporal Queries • Temporal conjunctive queries: conjunctive queries (CQs) + LTL TCQ q 1 , q 2 := CQ q | ¬ q 1 (not) | q 1 ∧ q 2 (and) | q 1 ∨ q 2 (or) | � F q 1 (next) | � P q 1 (previous) | q 1 U q 2 (until) | q 1 S q 2 (since) q 1 q 2 q 1 � P q 1 q 1 S q 2 4 / 8
Ontology-Based Data Access: Temporal Queries • Temporal conjunctive queries: conjunctive queries (CQs) + LTL TCQ q 1 , q 2 := CQ q | ¬ q 1 (not) | q 1 ∧ q 2 (and) | q 1 ∨ q 2 (or) | � F q 1 (next) | � P q 1 (previous) | q 1 U q 2 (until) | q 1 S q 2 (since) q 1 q 2 q 1 � P q 1 q 1 S q 2 → � P q 2 := true S q 2 (some time in the past) 4 / 8
Recommend
More recommend