21: Find where disease related proteins are known to be located in the cell

SELECT ?protein ?disease ?location_inside_cell ?cellcmpt WHERE { ?protein up:annotation ?diseaseAnnotation , ?subcellAnnotation . ?diseaseAnnotation up:disease/skos:prefLabel ?disease . ?subcellAnnotation up:locatedIn/up:cellularComponent ?cellcmpt . ?cellcmpt skos:prefLabel ?location_inside_cell . }Use

21: Find where disease related proteins are known to be located in the cell

PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?disease ?location_inside_cell ?cellcmpt WHERE { ?protein up:annotation ?diseaseAnnotation , ?subcellAnnotation . ?diseaseAnnotation up:disease/skos:prefLabel ?disease . ?subcellAnnotation up:locatedIn/up:cellularComponent ?cellcmpt . ?cellcmpt skos:prefLabel ?location_inside_cell . }Use

22: For two accessions find the GO term labels and group them into GO process,function and component

SELECT (CONCAT(SUBSTR(STR(?protein), 33)) AS ?uniprot) (GROUP_CONCAT(?celtype; separator=";") AS ?celtypes) (GROUP_CONCAT(?biotype; separator=";") AS ?biotypes) (GROUP_CONCAT(?moltype; separator=";") AS ?moltypes) WHERE { VALUES (?ac) {("Q6GZX4") ("Q96375")} BIND (IRI(CONCAT("http://purl.uniprot.org/uniprot/",?ac)) AS ?protein) ?protein a up:Protein . ?protein up:classifiedWith ?goTerm . #Determine if the type is biological_process OPTIONAL { ?goTerm rdfs:subClassOf <http://purl.obolibrary.org/obo/GO_0008150>. ?goTerm rdfs:label ?biotype . } #Determine if the type is cellular_component OPTIONAL { ?goTerm rdfs:subClassOf <http://purl.obolibrary.org/obo/GO_0005575>. ?goTerm rdfs:label ?celtype . } #Determine if the type is molecular_function OPTIONAL { ?goTerm rdfs:subClassOf <http://purl.obolibrary.org/obo/GO_0003674> . ?goTerm rdfs:label ?moltype . } #Filter out the uniprot keywords FILTER(bound(?biotype) || bound(?celtype) || bound(?moltype)) } GROUP BY ?proteinUse

22: For two accessions find the GO term labels and group them into GO process,function and component

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX up: <http://purl.uniprot.org/core/> PREFIX GO:<http://purl.obolibrary.org/obo/GO_> SELECT (CONCAT(SUBSTR(STR(?protein), 33)) AS ?uniprot) (GROUP_CONCAT(?celtype; separator=";") AS ?celtypes) (GROUP_CONCAT(?biotype; separator=";") AS ?biotypes) (GROUP_CONCAT(?moltype; separator=";") AS ?moltypes) WHERE { VALUES (?ac) {("Q6GZX4") ("Q96375")} BIND (IRI(CONCAT("http://purl.uniprot.org/uniprot/",?ac)) AS ?protein) ?protein a up:Protein . ?protein up:classifiedWith ?goTerm . #Determine if the type is biological_process OPTIONAL { ?goTerm rdfs:subClassOf GO:0008150 . ?goTerm rdfs:label ?biotype . } #Determine if the type is cellular_component OPTIONAL { ?goTerm rdfs:subClassOf GO:0005575 . ?goTerm rdfs:label ?celtype . } #Determine if the type is molecular_function OPTIONAL { ?goTerm rdfs:subClassOf GO:0003674 . ?goTerm rdfs:label ?moltype . } #Filter out the uniprot keywords FILTER(bound(?biotype) || bound(?celtype) || bound(?moltype)) } GROUP BY ?proteinUse

23: Number of reviewed entries (Swiss-Prot) that are related to kinase activity

SELECT (COUNT(DISTINCT(?protein)) AS ?pc) WHERE { ?protein rdf:type up:Protein ; up:reviewed true ; up:organism taxon:9606 ; up:classifiedWith|(up:classifiedWith/rdfs:subClassOf) GO:0016301 . }Use

23: Number of reviewed entries (Swiss-Prot) that are related to kinase activity

PREFIX GO: <http://purl.obolibrary.org/obo/GO_> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX taxon: <http://purl.uniprot.org/taxonomy/> PREFIX up: <http://purl.uniprot.org/core/> SELECT (COUNT(DISTINCT(?protein)) AS ?pc) WHERE { ?protein rdf:type up:Protein ; up:reviewed true ; up:organism taxon:9606 ; up:classifiedWith|(up:classifiedWith/rdfs:subClassOf) GO:0016301 . }Use

24: Find the release number of the uniprot data that is currently being queried

SELECT ?version FROM <https://sparql.uniprot.org/.well-known/void> WHERE { [] <http://purl.org/pav/version> ?version }Use

25: Find any uniprot entry which has a name 'HLA class I histocompatibility antigen, B-73 alpha chain'

SELECT ?protein ?anyKindOfName WHERE { ?protein a up:Protein . ?protein (up:recommendedName|up:alternativeName) ?structuredName . ?structuredName ?anyKindOfName "HLA class I histocompatibility antigen, B-73 alpha chain" . ?anyKindOfName rdfs:subPropertyOf up:structuredNameType . }Use

25: Find any uniprot entry which has a name 'HLA class I histocompatibility antigen, B-73 alpha chain'

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?anyKindOfName WHERE { ?protein a up:Protein . ?protein (up:recommendedName|up:alternativeName) ?structuredName . ?structuredName ?anyKindOfName "HLA class I histocompatibility antigen, B-73 alpha chain" . ?anyKindOfName rdfs:subPropertyOf up:structuredNameType . }Use

26: Find any uniprot entry, or an uniprot entries domain or component which has a name 'HLA class I histocompatibility antigen, B-73 alpha chain'

SELECT ?protein ?anyKindOfName WHERE { ?protein a up:Protein . ?protein (up:recommendedName|up:alternativeName)|((up:domain|up:component)/(up:recommendedName|up:alternativeName)) ?structuredName . ?structuredName ?anyKindOfName "HLA class I histocompatibility antigen, B-73 alpha chain" . ?anyKindOfName rdfs:subPropertyOf up:structuredNameType . }Use

26: Find any uniprot entry, or an uniprot entries domain or component which has a name 'HLA class I histocompatibility antigen, B-73 alpha chain'

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?anyKindOfName WHERE { ?protein a up:Protein . ?protein (up:recommendedName|up:alternativeName)|((up:domain|up:component)/(up:recommendedName|up:alternativeName)) ?structuredName . ?structuredName ?anyKindOfName "HLA class I histocompatibility antigen, B-73 alpha chain" . ?anyKindOfName rdfs:subPropertyOf up:structuredNameType . }Use

27: Find all names associated with uniprot entry P05067, and if the name is associated with the entry it's domains or its components

SELECT ?protein ?anyKindOfName ?names ?partType WHERE { BIND(<http://purl.uniprot.org/uniprot/P05067> AS ?protein) ?protein a up:Protein . { ?protein (up:recommendedName|up:alternativeName) ?structuredName . } UNION { VALUES(?partType){(up:domain) (up:component)} ?protein ?partType ?part . ?part (up:recommendedName|up:alternativeName) ?structuredName . } ?structuredName ?anyKindOfName ?names . ?anyKindOfName rdfs:subPropertyOf up:structuredNameType . }Use

27: Find all names associated with uniprot entry P05067, and if the name is associated with the entry it's domains or its components

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?anyKindOfName ?names ?partType WHERE { BIND(<http://purl.uniprot.org/uniprot/P05067> AS ?protein) ?protein a up:Protein . { ?protein (up:recommendedName|up:alternativeName) ?structuredName . } UNION { VALUES(?partType){(up:domain) (up:component)} ?protein ?partType ?part . ?part (up:recommendedName|up:alternativeName) ?structuredName . } ?structuredName ?anyKindOfName ?names . ?anyKindOfName rdfs:subPropertyOf up:structuredNameType . }Use

28: Get the list of uniprot entries for the chromosome of proteome UP000000625

SELECT ?protein ?proteome WHERE { ?protein a up:Protein ; up:reviewed true ; up:proteome ?proteome . VALUES (?proteome) {(<http://purl.uniprot.org/proteomes/UP000000625#Chromosome>)} }Use

28: Get the list of uniprot entries for the chromosome of proteome UP000000625

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?proteome WHERE { ?protein a up:Protein ; up:reviewed true ; up:proteome ?proteome . VALUES (?proteome) {(<http://purl.uniprot.org/proteomes/UP000000625#Chromosome>)} }Use

29: Use ALLIE a service for Abbreviation / Long Form in Japanese and English to search in UniProt using Japanese.

SELECT ?protein ?englishLabelStr WHERE { SERVICE<http://data.allie.dbcls.jp/sparql>{ ?x rdfs:label "アミロイド前駆体タンパク質"@ja ; rdfs:label ?englishLabel . FILTER(lang(?englishLabel) = "en") } BIND (STR(?englishLabel) AS ?englishLabelStr) ?protein a up:Protein . { ?protein (up:recommendedName|up:alternativeName) ?structuredName . } UNION { VALUES(?partType){(up:domain) (up:component)} ?protein ?partType ?part . ?part (up:recommendedName|up:alternativeName) ?structuredName . } ?structuredName ?anyKindOfName ?englishLabelStr . ?anyKindOfName rdfs:subPropertyOf up:structuredNameType . }Use

29: Use ALLIE a service for Abbreviation / Long Form in Japanese and English to search in UniProt using Japanese.

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?englishLabelStr WHERE { SERVICE <http://data.allie.dbcls.jp/sparql>{ ?x rdfs:label "アミロイド前駆体タンパク質"@ja ; rdfs:label ?englishLabel . FILTER(lang(?englishLabel) = "en") } BIND (STR(?englishLabel) AS ?englishLabelStr) ?protein a up:Protein . { ?protein (up:recommendedName|up:alternativeName) ?structuredName . } UNION { VALUES(?partType){(up:domain) (up:component)} ?protein ?partType ?part . ?part (up:recommendedName|up:alternativeName) ?structuredName . } ?structuredName ?anyKindOfName ?englishLabelStr . ?anyKindOfName rdfs:subPropertyOf up:structuredNameType . }Use

30: Find UniProt entries with merged loci in Bordetella avium

SELECT ?protein (GROUP_CONCAT(?locusName; separator=',') AS ?locusNames) WHERE { ?protein a up:Protein ; up:organism taxon:360910 ; up:encodedBy ?gene . ?gene up:locusName ?locusName . } GROUP BY ?protein HAVING (COUNT(?locusName) > 1)Use

30: Find UniProt entries with merged loci in Bordetella avium

PREFIX taxon: <http://purl.uniprot.org/taxonomy/> PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein (GROUP_CONCAT(?locusName; separator=',') AS ?locusNames) WHERE { ?protein a up:Protein ; up:organism taxon:360910 ; up:encodedBy ?gene . ?gene up:locusName ?locusName . } GROUP BY ?protein HAVING (COUNT(?locusName) > 1)Use

31: Find UniParc records whose sequence point to the most database entries

SELECT ?sequence ?entries WHERE { SELECT ?sequence (COUNT(?entry) AS ?entries) WHERE { GRAPH <http://sparql.uniprot.org/uniparc> { ?sequence up:sequenceFor ?entry . } } GROUP BY ?sequence } ORDER BY DESC(?entries)Use

31: Find UniParc records whose sequence point to the most database entries

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?sequence ?entries WHERE { SELECT ?sequence (COUNT(?entry) AS ?entries) WHERE { GRAPH <http://sparql.uniprot.org/uniparc> { ?sequence up:sequenceFor ?entry . } } GROUP BY ?sequence } ORDER BY DESC(?entries)Use

32: Find UniProtKB entries with more than 1 Topological domain annotation

SELECT ?protein (GROUP_CONCAT(?comment; separator=", ") AS ?comments) WHERE { ?protein a up:Protein ; up:annotation ?annotation . ?annotation rdf:type up:Topological_Domain_Annotation ; rdfs:comment ?comment . } GROUP BY ?protein HAVING (COUNT(?annotation) > 1)Use

32: Find UniProtKB entries with more than 1 Topological domain annotation

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein (GROUP_CONCAT(?comment; separator=", ") AS ?comments) WHERE { ?protein a up:Protein ; up:annotation ?annotation . ?annotation rdf:type up:Topological_Domain_Annotation ; rdfs:comment ?comment . } GROUP BY ?protein HAVING (COUNT(?annotation) > 1)Use

33: Find longest comment text associated with a UniProtKB Natural Variant Annotation

SELECT ?annotation ?comment WHERE { ?annotation a up:Natural_Variant_Annotation ; rdfs:comment ?comment . } ORDER BY DESC(STRLEN(?comment))Use

33: Find longest comment text associated with a UniProtKB Natural Variant Annotation

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX up: <http://purl.uniprot.org/core/> SELECT ?annotation ?comment WHERE { ?annotation a up:Natural_Variant_Annotation ; rdfs:comment ?comment . } ORDER BY DESC(STRLEN(?comment))Use

34: Find the co-occurence count of Topological Domain comment text in UniProtKB entries

SELECT ?comment1 ?comment2 (COUNT(?comment1) AS ?count1) WHERE { ?protein a up:Protein ; up:annotation ?annotation1 , ?annotation2 . ?annotation1 rdf:type up:Topological_Domain_Annotation ; rdfs:comment ?rawComment1 . ?annotation2 rdf:type up:Topological_Domain_Annotation ; rdfs:comment ?rawComment2 . BIND(IF(contains(?rawComment1, ';'), STRBEFORE(?rawComment1,';'), ?rawComment1) AS ?comment1) BIND(IF(contains(?rawComment2, ';'), STRBEFORE(?rawComment2,';'), ?rawComment2) AS ?comment2) FILTER(?annotation1 != ?annotation2) } GROUP BY ?comment1 ?comment2 ORDER BY DESC(COUNT(?comment1))Use