- From: John Wilbanks <wilbanks@w3.org>
- Date: Mon, 16 Aug 2004 15:49:10 -0400
- To: public-semweb-lifesci@w3.org
As promised, some code using EricP's RDF-SQL paper cited in previous mail. # ToxicAssoc0 - federate a query over several independent clinical databases # $Id: ToxicAssoc0.alg,v 1.5 2004/08/12 17:36:49 eric Exp $ ns db=<http://www.w3.org/2003/01/21-RDF-RDB-access/ns#> ns ma=<http://med.example/ma#> ns cs=<http://med.example/cs#> ns up=<http://med.example/up#> ns sa=<http://med.example/sa#> ns mt=<http://med.example/mt#> attach db:dbs ?ma (properties="../test/MicroArray.prop") attach db:dbs ?up (properties="../test/Uniprot.prop") attach db:dbs ?sa (properties="../test/ScreeningAssay.prop") attach db:dbs ?cs (properties="../test/ChemStructure.prop") attach db:dbs ?mt (properties="../test/MouseToxicity.prop") ask ?ma (?g ma:name ?name . ?g ma:expression "up" . ?g ma:experiment ?kinase . ?kinase ma:against ?agin . ?agin cs:chemical ?chemical ) ask ?up (?p ma:name ?name . # bound to ?ma.ma:name ?p up:motif ?motif . ?p up:pathway "apoptosis" ) ask ?sa (?a sa:name "KinaseAssay" . ?a cs:chemical ?chemical . # bound to ?ma.cs:chemical ?a sa:upname ?saProt . ?a ma:kd50 ?kd50 {?kd50 >= .7 || ?kd50 < .2} ) ask ?cs (?c cs:chemical ?chemical . # bound to ?ma.cs:chemical, ?sa.cs:chemical ?c cs:structure "asdfasdf" . ?c cs:sidechain ?side . ?c2 cs:sidechain ?side . ?c2 cs:chemical ?like ) ask ?mt (?t cs:chemical ?like . # bound to ?cs.cs:sidechain ?t mt:toxicity ?ld {?ld > .50} ) collect (?name ?chemical ?motif ?saProt ?kd50 ?like ?ld) # Table Output: # +------+--------------+-----------+-------------+-----+--------------+-----+ # | name| chemical| motif| saProt| kd50| like| ld| # |------|--------------|-----------|-------------|-----|--------------|-----| # |"rq23"|"lhrh-agonist"|"@@motif@@"|"KinaseAssay"|"0.8"|"lhrh-agonist"|"0.6"| # |"rq23"|"lhrh-agonist"|"@@motif@@"|"KinaseAssay"|"0.8"| "like1"|"0.7"| # +------+--------------+-----------+-------------+-----+--------------+-----+ # Sql Queries: # 040812 4:56:25 312 Connect root@localhost on MicroArray # 313 Connect root@localhost on Uniprot # 314 Connect root@localhost on ScreeningAssay # 315 Connect root@localhost on ChemStructure # 316 Connect root@localhost on MouseToxicity # 312 Query SELECT STRAIGHT_JOIN # MicroArray_0.id AS g_id, # MicroArray_0.name AS name_name, # Kinase_0.id AS kinase_id, # Chemicals_0.id AS agin_id, # Chemicals_0.chemical AS chemical_chemical # # FROM MicroArray AS MicroArray_0 # INNER JOIN Kinase AS Kinase_0 ON MicroArray_0.experiment=Kinase_0.id # INNER JOIN Chemicals AS Chemicals_0 ON Kinase_0.against=Chemicals_0.id # WHERE MicroArray_0.expression="up" # GROUP BY g_id,name_name,kinase_id,agin_id,chemical_chemical # 313 Query SELECT STRAIGHT_JOIN # Uniprot_0.id AS p_id, # Uniprot_0.name AS name_name, # Uniprot_0.motif AS motif_motif # # FROM Uniprot AS Uniprot_0 # WHERE Uniprot_0.pathway="apoptosis" # AND Uniprot_0.name="rq23" # GROUP BY p_id,name_name,motif_motif # 314 Query SELECT STRAIGHT_JOIN # ScreeningAssay_0.id AS a_id, # ScreeningAssay_0.chemical AS chemical_chemical, # ScreeningAssay_0.name AS saProt_name, # ScreeningAssay_0.kd50 AS kd50_kd50 # # FROM ScreeningAssay AS ScreeningAssay_0 # WHERE ScreeningAssay_0.name="KinaseAssay" # AND ((ScreeningAssay_0.kd50>=".7") OR (ScreeningAssay_0.kd50<".2")) # AND ScreeningAssay_0.chemical="lhrh-agonist" # GROUP BY a_id,chemical_chemical,saProt_name,kd50_kd50 # 315 Query SELECT STRAIGHT_JOIN # ChemStructure_0.id AS c_id, # ChemStructure_0.chemical AS chemical_chemical, # ChemStructure_0.sidechain AS side_sidechain, # ChemStructure_1.id AS c2_id, # ChemStructure_1.chemical AS like_chemical # # FROM ChemStructure AS ChemStructure_0 # INNER JOIN ChemStructure AS ChemStructure_1 ON ChemStructure_1.sidechain=ChemStructure_0.sidechain # WHERE ChemStructure_0.structure="asdfasdf" # AND ChemStructure_0.chemical="lhrh-agonist" # GROUP BY c_id,chemical_chemical,side_sidechain,c2_id,like_chemical # 316 Query SELECT STRAIGHT_JOIN # MouseToxicity_0.id AS t_id, # MouseToxicity_0.chemical AS like_chemical, # MouseToxicity_0.toxicity AS ld_toxicity # # FROM MouseToxicity AS MouseToxicity_0 # WHERE MouseToxicity_0.toxicity>".50" # AND MouseToxicity_0.chemical="lhrh-agonist" # GROUP BY t_id,like_chemical,ld_toxicity # 316 Query SELECT STRAIGHT_JOIN # MouseToxicity_0.id AS t_id, # MouseToxicity_0.chemical AS like_chemical, # MouseToxicity_0.toxicity AS ld_toxicity # # FROM MouseToxicity AS MouseToxicity_0 # WHERE MouseToxicity_0.toxicity>".50" # AND MouseToxicity_0.chemical="like1" # GROUP BY t_id,like_chemical,ld_toxicity # 316 Query SELECT STRAIGHT_JOIN # MouseToxicity_0.id AS t_id, # MouseToxicity_0.chemical AS like_chemical, # MouseToxicity_0.toxicity AS ld_toxicity # # FROM MouseToxicity AS MouseToxicity_0 # WHERE MouseToxicity_0.toxicity>".50" # AND MouseToxicity_0.chemical="like2" # GROUP BY t_id,like_chemical,ld_toxicity # 316 Quit # 315 Quit # 314 Quit # 313 Quit # 312 Quit -- John Wilbanks W3C Fellow Semantic Web - Life Sciences http://www.w3.org/People/all#wilbanks wilbanks@w3.org 617-253-5845 (direct) 617-838-6333 (mobile; best voicemail #) --
Received on Monday, 16 August 2004 19:48:42 UTC