Presentation is loading. Please wait.

Presentation is loading. Please wait.

SparQL and the FMA Non-Materialized Ontology Views Todd Detwiler SIG University of Washington.

Similar presentations


Presentation on theme: "SparQL and the FMA Non-Materialized Ontology Views Todd Detwiler SIG University of Washington."— Presentation transcript:

1 SparQL and the FMA Non-Materialized Ontology Views Todd Detwiler SIG University of Washington

2 FMA SparQL Service Uses the FMA in OWL N. F. Noy, D. L. Rubin. Translating the Foundational Model of Anatomy into OWL. 2007. Uses Jena API Uses persistent storage backend Does not use any OWL inference

3 SELECT Query

4

5 SELECT Results

6 CONSTRUCT Query

7

8 CONSTRUCT Results

9 7088

10 DESCRIBE Query

11

12 DESCRIBE Results

13 Anterior surface of lobe of right lung 26298

14 ASK Query

15

16 ASK Results

17 DXBrain

18 DXBrain and FMA Service let $fma_query := concat( "PREFIX dl: CONSTRUCT { ?ae dl:FMAID ?fmaid. } WHERE { ?cn dl:name ?name. FILTER (?name = '", $site_name,"'). ?ae dl:Preferred_name ?cn. ?ae dl:FMAID ?fmaid. }") let $fma_identifier := dxq:xqueryWS($wsdlURL, $serviceName, $methodName, $fma_query)

19 DXBrain and FMA Results 10 Middle part of postcentral gyrus 70693 20 Posterior part of middle temporal gyrus 70707

20 Query Composition Q1: CONSTRUCT { $subject $relation $object } WHERE { $subject rdfs:subClassOf :Organ. $subject $relation $object.} V1: PREFIX obo: CONSTRUCT { $sub obo:has_part $part. $sub rdfs:subClassOf $superClass.} WHERE { :Heart %p $sub. FILTER (regex(%p,":regionalPart*","ds")). $sub :regionalPart $part. $sub rdfs:subClassOf $superClass.} Q2 (Q1 + V1) : CONSTRUCT { $sub obo:has_part $part. $sub rdfs:subClassOf $superClass.} WHERE { :Heart %p $sub. FILTER (regex(%p,":regional_part*","ds")). $sub :regionalPart $part. $sub rdfs:subClassOf $superClass. $sub rdfs:subClassOf :Organ. $sub $relation $obj.}

21 Sample Dataset

22 View Query PREFIX books: PREFIX dc: CONSTRUCT { ?sub dc:creator ?obj. ?sub2 dc:title ?obj2. } WHERE { ?sub dc:creator ?obj. ?sub2 dc:title ?obj2. FILTER regex(?obj2, "Prince") }

23 View Query Results

24 Query on View PREFIX books: PREFIX dc: CONSTRUCT { ?sub ?rel ?obj. } WHERE { ?sub dc:creator ?bound_obj. FILTER regex(?bound_obj, "J.K. Rowling") ?sub ?rel ?obj }

25 Query Composition CONSTRUCT { ?sub ?rel ?obj. } WHERE { ?sub dc:creator ?obj. ?sub2 dc:title ?obj2. FILTER regex(?obj2, "Prince") ?sub dc:creator ?bound_obj. FILTER regex(?bound_obj, "J.K. Rowling"). (how do we get everything there is in view about ?sub?) }

26 Rewritten View Query PREFIX books: PREFIX dc: CONSTRUCT {?sub ?rel ?obj} WHERE { ?sub ?rel ?obj FILTER (?rel = dc:creator) } UNION { ?sub ?rel ?obj FILTER (?rel = dc:title && regex(?obj, "Prince")) }

27 Rewritten Query Composition PREFIX dc: CONSTRUCT {?sub ?rel ?obj} WHERE { ?sub ?rel ?obj. FILTER (?rel = dc:creator) } UNION { ?sub ?rel ?obj. FILTER (?rel = dc:title && regex(?obj, "Prince")) } ?sub dc:creator ?bound_obj. FILTER (?bound_obj = ?obj && regex(?bound_obj, "J.K. Rowling")) }

28 Rewritten Query Composition PREFIX dc: CONSTRUCT {?sub ?rel ?obj} WHERE { ?sub ?rel ?obj. FILTER (?rel = dc:creator) } UNION { ?sub ?rel ?obj. FILTER (?rel = dc:title && regex(?obj, "Prince")) } ?sub dc:creator ?bound_obj. FILTER (?bound_obj = ?obj && regex(?bound_obj, "J.K. Rowling")) } Problem: ?bound_obj = ?obj

29 Rewritten Query Results

30 Questions?

31 Additional Slides

32 Query Rewrite PREFIX books: PREFIX dc: CONSTRUCT { ?sub dc:creator ?creator. ?sub dc:title ?title. } WHERE { books:book7 ?relation ?object. ?sub ?relation ?object. ?sub dc:creator ?creator. ?sub dc:title ?title. } PREFIX books: PREFIX dc: CONSTRUCT { ?sub ?rel ?obj. } WHERE { books:book7 ?relation ?object. ?sub ?relation ?object. ?sub ?rel ?obj FILTER (?rel = dc:creator) } UNION { books:book7 ?relation ?object. ?sub ?relation ?object. ?sub ?rel ?obj FILTER (?rel = dc:title ). }


Download ppt "SparQL and the FMA Non-Materialized Ontology Views Todd Detwiler SIG University of Washington."

Similar presentations


Ads by Google