@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf4j: <http://rdf4j.org/schema/rdf4j#> .
@prefix sesame: <http://www.openrdf.org/schema/sesame#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix fn: <http://www.w3.org/2005/xpath-functions#> .

<http://purl.uniprot.org/unirules/MF_03188#construct> a <http://www.w3.org/ns/shacl#SPARQLRule>,
    <http://spinrdf.org/sp#Construct>;
  <https://hamap.expasy.org/rdf/vocab#addsTriple> <http://purl.uniprot.org/unirules/MF_03188#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-53>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-29>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-37>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-38>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-59>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-24>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-39>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-49>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-70>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-3>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-13>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-7>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-5>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-42>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-11>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-46>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-61>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-16>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-56>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-30>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-31>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-55>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-27>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-22>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-10>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-34>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-41>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-57>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-18>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-51>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-43>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-19>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-48>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-6>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-20>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-40>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-2>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-0>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-12>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-36>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-14>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-65>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-60>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-44>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-67>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-62>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-69>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_03188#construct-template-64>, <http://purl.uniprot.org/unirules/MF_03188#construct-template-66>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_03188#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_03188#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:870509 up:source unirule:MF_03188 .
  _:870510 up:source unirule:MF_03188 .
  _:870511 up:source unirule:MF_03188 .
  _:870512 up:source unirule:MF_03188 .
  _:870513 up:source unirule:MF_03188 .
  _:870514 up:source unirule:MF_03188 .
  _:870515 up:source unirule:MF_03188 .
  _:870516 up:source unirule:MF_03188 .
  _:870517 up:source unirule:MF_03188 .
  _:870518 up:source unirule:MF_03188 .
  _:870519 up:source unirule:MF_03188 .
  _:870520 up:source unirule:MF_03188 .
  _:870521 up:source unirule:MF_03188 .
  _:870522 up:source unirule:MF_03188 .
  _:870523 up:source unirule:MF_03188 .
  _:870524 up:source unirule:MF_03188 .
  _:870525 up:source unirule:MF_03188 .
  _:870526 up:source unirule:MF_03188 .
  ?this up:annotation ?annotation0 ;
    up:classifiedWith GO:0005737 ,
      GO:0016279 ,
      GO:0018022 ,
      keyword:489 ,
      keyword:808 ,
      keyword:949 ,
      keyword:963 .
  ?annotation0 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the class I-like SAM-binding methyltransferase superfamily. EFM4 family.' .
  ?case1 up:alternativeName ?name4 ;
    up:classifiedWith GO:0016192 ,
      keyword:813 ;
    up:recommendedName ?name2 .
  ?name2 up:ecName '2.1.1.-' ;
    up:fullName ?nameValue3 ;
    rdf:type up:Structured_Name .
  ?name4 up:fullName 'Elongation factor methyltransferase 4' ;
    rdf:type up:Structured_Name .
  ?case5 up:alternativeName ?name7 ,
      ?name8 ;
    up:classifiedWith GO:0005634 ,
      keyword:539 ;
    up:recommendedName ?name6 .
  ?name6 up:ecName '2.1.1.-' ;
    up:fullName 'EEF1A lysine methyltransferase 2' ;
    rdf:type up:Structured_Name .
  ?name7 up:fullName 'Methyltransferase-like protein 10' ;
    rdf:type up:Structured_Name .
  ?name8 up:fullName 'Protein-lysine N-methyltransferase METTL10' ;
    rdf:type up:Structured_Name .
  ?case9 up:recommendedName ?name10 .
  ?name10 up:ecName '2.1.1.-' ;
    up:fullName ?nameValue11 ;
    rdf:type up:Structured_Name .
  _:870527 a rdf:Statement ;
    up:attribution _:870509 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation0 .
  _:870528 a rdf:Statement ;
    up:attribution _:870510 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:963 .
  _:870529 a rdf:Statement ;
    up:attribution _:870511 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:489 .
  _:870530 a rdf:Statement ;
    up:attribution _:870512 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:949 .
  _:870531 a rdf:Statement ;
    up:attribution _:870513 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:808 .
  _:870532 a rdf:Statement ;
    up:attribution _:870514 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005737 .
  _:870533 a rdf:Statement ;
    up:attribution _:870515 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0016279 .
  _:870534 a rdf:Statement ;
    up:attribution _:870516 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0018022 .
  _:870535 a rdf:Statement ;
    up:attribution _:870517 ;
    rdf:subject ?case1 ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name2 .
  _:870536 a rdf:Statement ;
    up:attribution _:870518 ;
    rdf:subject ?case1 ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name4 .
  _:870537 a rdf:Statement ;
    up:attribution _:870519 ;
    rdf:subject ?case1 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:813 .
  _:870538 a rdf:Statement ;
    up:attribution _:870520 ;
    rdf:subject ?case1 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0016192 .
  _:870539 a rdf:Statement ;
    up:attribution _:870521 ;
    rdf:subject ?case5 ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name6 .
  _:870540 a rdf:Statement ;
    up:attribution _:870522 ;
    rdf:subject ?case5 ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name7 .
  _:870541 a rdf:Statement ;
    up:attribution _:870523 ;
    rdf:subject ?case5 ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name8 .
  _:870542 a rdf:Statement ;
    up:attribution _:870524 ;
    rdf:subject ?case5 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:539 .
  _:870543 a rdf:Statement ;
    up:attribution _:870525 ;
    rdf:subject ?case5 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005634 .
  _:870544 a rdf:Statement ;
    up:attribution _:870526 ;
    rdf:subject ?case9 ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name10 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_03188
  #Rule MF_03188 Created by:? on:2015-02-17 Modified by:Edouard de Castro on:2019-11-20
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_03188 .
  ?thisOrganism rdfs:subClassOf+ taxon:2759 .
  BIND(URI(CONCAT(STR(?this), '#MF_03188a0')) AS ?annotation0) .
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ taxon:4751 .
    BIND(?this AS ?case1) .
    BIND(URI(CONCAT(STR(?this), '#MF_03188a2')) AS ?name2) .
    OPTIONAL {
      ?this up:encodedBy ?gene15 .
      ?gene15 up:locusName ?geneLocus13 .
    }
    OPTIONAL {
      ?this up:encodedBy ?gene15 .
      ?gene15 up:orfName ?geneOrf14 .
    }
    BIND(IF(BOUND(?geneLocus13), ?geneLocus13, ?geneOrf14) AS ?part12) .
    BIND(CONCAT('Protein-lysine N-methyltransferase ', ?part12) AS ?nameValue3) .
    BIND(URI(CONCAT(STR(?this), '#MF_03188a4')) AS ?name4) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ taxon:7742 .
    BIND(?this AS ?case5) .
    BIND(URI(CONCAT(STR(?this), '#MF_03188a6')) AS ?name6) .
    BIND(URI(CONCAT(STR(?this), '#MF_03188a7')) AS ?name7) .
    BIND(URI(CONCAT(STR(?this), '#MF_03188a8')) AS ?name8) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    FILTER (! (EXISTS {
      VALUES ?supertaxon16 {taxon:4751 taxon:7742}
      ?thisOrganism rdfs:subClassOf+ ?supertaxon16 .
    })) .
    BIND(?this AS ?case9) .
    BIND(URI(CONCAT(STR(?this), '#MF_03188a10')) AS ?name10) .
    OPTIONAL {
      ?this up:encodedBy ?gene20 .
      ?gene20 up:locusName ?geneLocus18 .
    }
    OPTIONAL {
      ?this up:encodedBy ?gene20 .
      ?gene20 up:orfName ?geneOrf19 .
    }
    BIND(IF(BOUND(?geneLocus18), ?geneLocus18, ?geneOrf19) AS ?part17) .
    BIND(CONCAT('Protein-lysine N-methyltransferase ', ?part17) AS ?nameValue11) .
  }
}
""" .

<http://purl.uniprot.org/unirules/MF_03188> <http://www.w3.org/ns/shacl#rule> <http://purl.uniprot.org/unirules/MF_03188#construct> .
