- From: Matthias Samwald <samwald@gmx.at>
- Date: Mon, 12 Nov 2007 12:05:30 +0100
- To: <public-semweb-lifesci@w3.org>, <semanticwebpipes@lists.deri.org>
- Cc: "Kei Cheung" <kei.cheung@yale.edu>, "Giovanni Tummarello" <giovanni.tummarello@deri.org>
At the moment I am experimenting with the DERI Semantic Pipes application (http://pipes.deri.org:8080) for life science scenarios. I added a pipe that takes a CAS number (a standardized number indentifying chemical compounds) and aggregates data about the corresponding compound from two SPARQL endpoints: DBpedia (derived from Wikipedia) and the OWL version of the PDSP ligand-receptor interaction database (the latter was created by me and hosted on an endpoint of the Yale Center for Medical Informatics). Since the current pipes application does not allow us to use variables / parameters, I used the CAS number 79617-96-2 (identifying the antidepressant Sertraline) for this exemplary pipe. You can run the pipe with http://pipes.deri.org:8080/pipes/Pipes/?id=pharma_mashup (of course, the URL/output of this pipe could now be used as the input of another pipe) Essentially, the pipe just aggregates the results of the following two queries (one against the DBpedia endpoint, one against the endpoint of the Yale Center for Medical Informatics): PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dbpedia_p: <http://dbpedia.org/property/> CONSTRUCT { ?chemical a ?chemicaltype ; rdfs:comment ?comment ; dbpedia_p:iupacName ?iupac_name ; dbpedia_p:metabolism ?metabolism; dbpedia_p:excretion ?excretion; dbpedia_p:eliminationHalfLife ?halflife . } WHERE { ?chemical <http://dbpedia.org/property/casNumber> "79617-96-2"@en . ?chemical a ?chemicaltype ; rdfs:comment ?comment ; dbpedia_p:iupacName ?iupac_name ; dbpedia_p:metabolism ?metabolism; dbpedia_p:excretion ?excretion; dbpedia_p:eliminationHalfLife ?halflife . FILTER langMatches( lang(?comment), "en" )} PREFIX neurondb: <http://purl.org/ycmi/senselab/neuron_ontology.owl#> PREFIX obo_essentials: <http://purl.org/zen/obo_essentials.owl#> PREFIX ro: <http://www.obofoundry.org/ro/ro.owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX pdsp_ki: <http://purl.org/ycmi/ki/core.owl#> CONSTRUCT { ?receptor a ?receptorclass . ?receptorclass rdfs:label ?receptorclasslabel . ?ligand a ?ligand_class . ?process a obo_essentials:GO_0005488_process . ?process ro:has_participant ?receptor . ?process ro:has_participant ?ligand . ?process rdfs:comment ?process_comment . ?ligand_class foaf:page ?ligand_weblink . ?process foaf:page ?pubmed_weblink . } FROM <http://purl.org/ycmi/ki/core.owl> FROM <http://purl.org/ycmi/senselab/neuron_ontology.owl> WHERE { ?ligand_class pdsp_ki:cas_number "79617-96-2". ?receptor a ?receptorclass . ?receptorclass rdfs:label ?receptorclasslabel . ?ligand a ?ligand_class . ?process a obo_essentials:GO_0005488_process . ?process ro:has_participant ?receptor . ?process ro:has_participant ?ligand . ?process rdfs:comment ?process_comment . ?ligand_class foaf:page ?ligand_weblink . ?process foaf:page ?pubmed_weblink . } LIMIT 5 More sophisticated examples will follow when an extended set of pipe operators becomes available. cheers, Matthias Samwald
Received on Monday, 12 November 2007 11:06:28 UTC