Last active
April 24, 2017 03:34
-
-
Save yayamamo/923303c1e598c39b982f36ca81a6ba25 to your computer and use it in GitHub Desktop.
Stardog query plan for query 2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX up: <http://purl.uniprot.org/core/> PREFIX faldo: <http://biohackathon.org/resource/faldo#> SELECT DISTINCT ?parent_label ?label ?begin_location ?end_location ?seq_length ?comment (GROUP_CONCAT(?substitution; SEPARATOR = ", ") AS ?substitutions) ?seq ?feature_identifier FROM <http://togogenome.org/graph/uniprot> FROM <http://togogenome.org/graph/tgup> WHERE { { SELECT ?gene { <http://togogenome.org/gene/103690:PCC7120DELTA_RS09085> skos:exactMatch ?gene . } ORDER BY ?gene LIMIT 1 } <http://togogenome.org/gene/103690:PCC7120DELTA_RS09085> skos:exactMatch ?gene ; rdfs:seeAlso ?id_upid . ?id_upid rdfs:seeAlso ?protein . ?protein a up:Protein ; up:annotation ?annotation . ?annotation rdf:type ?type . ?type rdfs:label ?label . ?type rdfs:subClassOf* ?parent_type . ?parent_type rdfs:subClassOf up:Sequence_Annotation ; rdfs:label ?parent_label . ?annotation up:range ?range . OPTIONAL { ?annotation rdfs:comment ?comment . } ?range faldo:begin/faldo:position ?begin_location ; faldo:end/faldo:position ?end_location . ?protein up:sequence ?isoform . BIND( REPLACE( STR(?protein), "http://purl.uniprot.org/uniprot/", "") AS ?up_id) FILTER( REGEX(STR(?isoform), ?up_id)) ?isoform rdf:value ?value . OPTIONAL { ?annotation up:substitution ?substitution . ?isoform rdf:value ?seq . } OPTIONAL { ?isoform rdf:value ?seq_txt . BIND (STRLEN(?seq_txt) AS ?seq_length) . } OPTIONAL { ?annotation rdf:type ?type . BIND (STR(?annotation) AS ?feature_identifier) . FILTER REGEX(STR(?annotation), "http://purl.uniprot.org/annotation") } } GROUP BY ?parent_label ?label ?begin_location ?end_location ?seq_length ?comment ?seq ?feature_identifier ORDER BY ?parent_label ?label ?begin_location ?end_location | |
The Query Plan: | |
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> | |
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> | |
prefix skos: <http://www.w3.org/2004/02/skos/core#> | |
prefix up: <http://purl.uniprot.org/core/> | |
prefix faldo: <http://biohackathon.org/resource/faldo#> | |
From <http://togogenome.org/graph/uniprot> | |
From <http://togogenome.org/graph/tgup> | |
Distinct [#2] | |
`─ OrderBy(ASC(?parent_label), ASC(?label), ASC(?begin_location), ASC(?end_location)) [#2] | |
`─ Projection(?parent_label, ?label, ?begin_location, ?end_location, ?seq_length, ?comment, ?substitutions, ?seq, ?feature_identifier) [#2] | |
`─ Group(by=[?seq, ?seq_length, ?label, ?feature_identifier, ?parent_label, ?comment, ?begin_location, ?end_location] aggregates=[GROUP_CONCAT(?substitution; SEPARATOR = ", ") AS ?substitutions]) [#2] | |
`─ MergeJoinOuter(?type)(Regex(Str(?annotation), "http://purl.uniprot.org/annotation")) [#2] | |
+─ Sort(?type) [#2] | |
│ `─ MergeJoinOuter(?isoform) [#2] | |
│ +─ DirectHashJoinOuter(?isoform) [#2] | |
│ │ +─ MergeJoin(?isoform) [#2] | |
│ │ │ +─ Sort(?isoform) [#1] | |
│ │ │ │ `─ Filter(Regex(Str(?isoform), ?up_id)) [#1] | |
│ │ │ │ `─ Bind(REPLACE(Str(?protein), "http://purl.uniprot.org/uniprot/", "") AS ?up_id) [#2] | |
│ │ │ │ `─ MergeJoin(?wklqkokh) [#2] | |
│ │ │ │ +─ Sort(?wklqkokh) [#2] | |
│ │ │ │ │ `─ MergeJoin(?range) [#2] | |
│ │ │ │ │ +─ Sort(?range) [#2] | |
│ │ │ │ │ │ `─ MergeJoin(?protein) [#2] | |
│ │ │ │ │ │ +─ Sort(?protein) [#2] | |
│ │ │ │ │ │ │ `─ MergeJoin(?vrtqkcmb) [#2] | |
│ │ │ │ │ │ │ +─ Sort(?vrtqkcmb) [#2] | |
│ │ │ │ │ │ │ │ `─ MergeJoin(?range) [#2] | |
│ │ │ │ │ │ │ │ +─ Sort(?range) [#3] | |
│ │ │ │ │ │ │ │ │ `─ MergeJoinOuter(?annotation) [#3] | |
│ │ │ │ │ │ │ │ │ +─ Sort(?annotation) [#3] | |
│ │ │ │ │ │ │ │ │ │ `─ LoopJoin(_) [#3] | |
│ │ │ │ │ │ │ │ │ │ +─ MergeJoin(?gene) [#1] | |
│ │ │ │ │ │ │ │ │ │ │ +─ Sort(?gene) [#1] | |
│ │ │ │ │ │ │ │ │ │ │ │ `─ Slice(offset=0, limit=1) [#1] | |
│ │ │ │ │ │ │ │ │ │ │ │ `─ OrderBy(ASC(?gene)) [#1] | |
│ │ │ │ │ │ │ │ │ │ │ │ `─ Projection(?gene) [#1] | |
│ │ │ │ │ │ │ │ │ │ │ │ `─ Scan[SPO](<http://togogenome.org/gene/103690:PCC7120DELTA_RS09085>, skos:exactMatch, ?gene) [#1] | |
│ │ │ │ │ │ │ │ │ │ │ `─ Scan[SPOC](<http://togogenome.org/gene/103690:PCC7120DELTA_RS09085>, skos:exactMatch, ?gene) [#1] | |
│ │ │ │ │ │ │ │ │ │ `─ HashJoin(?type) [#3] | |
│ │ │ │ │ │ │ │ │ │ +─ MergeJoin(?parent_type) [#279K] | |
│ │ │ │ │ │ │ │ │ │ │ +─ PropertyPath(?type -> ?parent_type, minLength=0, sorted by=?parent_type) [#2365.3M] | |
│ │ │ │ │ │ │ │ │ │ │ │ +─ Scan[POSC](?type, rdfs:subClassOf, ?parent_type) [#21.0M] | |
│ │ │ │ │ │ │ │ │ │ │ `─ MergeJoin(?parent_type) [#2.5K] | |
│ │ │ │ │ │ │ │ │ │ │ +─ Scan[POSC](?parent_type, rdfs:subClassOf, up:Sequence_Annotation) [#8] | |
│ │ │ │ │ │ │ │ │ │ │ `─ Scan[PSOC](?parent_type, rdfs:label, ?parent_label) [#24.4M] | |
│ │ │ │ │ │ │ │ │ │ `─ MergeJoin(?type) [#2] | |
│ │ │ │ │ │ │ │ │ │ +─ Sort(?type) [#2] | |
│ │ │ │ │ │ │ │ │ │ │ `─ MergeJoin(?annotation) [#2] | |
│ │ │ │ │ │ │ │ │ │ │ +─ Sort(?annotation) [#2] | |
│ │ │ │ │ │ │ │ │ │ │ │ `─ MergeJoin(?protein) [#2] | |
│ │ │ │ │ │ │ │ │ │ │ │ +─ MergeJoin(?protein) [#2] | |
│ │ │ │ │ │ │ │ │ │ │ │ │ +─ Sort(?protein) [#2] | |
│ │ │ │ │ │ │ │ │ │ │ │ │ │ `─ MergeJoin(?id_upid) [#2] | |
│ │ │ │ │ │ │ │ │ │ │ │ │ │ +─ Scan[SPOC](<http://togogenome.org/gene/103690:PCC7120DELTA_RS09085>, rdfs:seeAlso, ?id_upid) [#2] | |
│ │ │ │ │ │ │ │ │ │ │ │ │ │ `─ Scan[PSOC](?id_upid, rdfs:seeAlso, ?protein) [#315.6M] | |
│ │ │ │ │ │ │ │ │ │ │ │ │ `─ Scan[PSOC](?protein, up:annotation, ?annotation) [#70.0M] | |
│ │ │ │ │ │ │ │ │ │ │ │ `─ Scan[POSC](?protein, rdf:type, up:Protein) [#19.7M] | |
│ │ │ │ │ │ │ │ │ │ │ `─ MergeJoin(?annotation) [#47.7M] | |
│ │ │ │ │ │ │ │ │ │ │ +─ Scan[PSOC](?annotation, rdf:type, ?type) [#771.6M] | |
│ │ │ │ │ │ │ │ │ │ │ `─ Scan[PSOC](?annotation, up:range, ?range) [#47.7M] | |
│ │ │ │ │ │ │ │ │ │ `─ Scan[PSOC](?type, rdfs:label, ?label) [#24.4M] | |
│ │ │ │ │ │ │ │ │ `─ Scan[PSOC](?annotation, rdfs:comment, ?comment) [#77.6M] | |
│ │ │ │ │ │ │ │ `─ Scan[PSOC](?range, faldo:end, ?vrtqkcmb) [#47.2M] | |
│ │ │ │ │ │ │ `─ Scan[PSOC](?vrtqkcmb, faldo:position, ?end_location) [#83.9M] | |
│ │ │ │ │ │ `─ Scan[PSOC](?protein, up:sequence, ?isoform) [#19.8M] | |
│ │ │ │ │ `─ Scan[PSOC](?range, faldo:begin, ?wklqkokh) [#47.2M] | |
│ │ │ │ `─ Scan[PSOC](?wklqkokh, faldo:position, ?begin_location) [#83.9M] | |
│ │ │ `─ Scan[PSC](?isoform, rdf:value, _) [#15.3M] | |
│ │ `─ LoopJoin(_) [#3980958.3M] | |
│ │ +─ Scan[PSOC](?annotation, up:substitution, ?substitution) [#202K] | |
│ │ `─ Scan[PSO](?isoform, rdf:value, ?seq) [#19.7M] | |
│ `─ Bind(STRLEN(?seq_txt) AS ?seq_length) [#19.7M] | |
│ `─ Scan[PSOC](?isoform, rdf:value, ?seq_txt) [#19.7M] | |
`─ Bind(Str(?annotation) AS ?feature_identifier) [#771.6M] | |
`─ Scan[POSC](?annotation, rdf:type, ?type) [#771.6M] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment