@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_03187#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_03187#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-22>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-35>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-29>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-55>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-0>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-39>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-40>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-18>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-30>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-13>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-7>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-42>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-14>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-17>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-27>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-31>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-23>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-3>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-37>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-53>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-38>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-49>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-10>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-6>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-36>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-34>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-54>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-51>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-50>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-41>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-4>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-28>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-2>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-57>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-21>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_03187#construct-template-24>, <http://purl.uniprot.org/unirules/MF_03187#construct-template-48>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_03187#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_03187#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:870149 up:source unirule:MF_03187 .
  _:870150 up:source unirule:MF_03187 .
  _:870151 up:source unirule:MF_03187 .
  _:870152 up:source unirule:MF_03187 .
  _:870153 up:source unirule:MF_03187 .
  _:870154 up:source unirule:MF_03187 .
  _:870155 up:source unirule:MF_03187 .
  _:870156 up:source unirule:MF_03187 .
  _:870157 up:source unirule:MF_03187 .
  _:870158 up:source unirule:MF_03187 .
  _:870159 up:source unirule:MF_03187 .
  _:870160 up:source unirule:MF_03187 .
  _:870161 up:source unirule:MF_03187 .
  _:870162 up:source unirule:MF_03187 .
  ?this up:annotation ?annotation0 ,
      ?annotation2 ;
    up:classifiedWith GO:0005737 ,
      GO:0016279 ,
      GO:0018022 ,
      keyword:489 ,
      keyword:808 ,
      keyword:963 .
  ?annotation0 a up:Subcellular_Location_Annotation .
  ?annotation0li1 up:cellularComponent <http://purl.uniprot.org/locations/null>.
  ?annotation2 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the class I-like SAM-binding methyltransferase superfamily. EFM5 family.' .
  ?case3 up:alternativeName ?name6 ;
    up:recommendedName ?name4 .
  ?name4 up:ecName '2.1.1.-' ;
    up:fullName ?nameValue5 ;
    rdf:type up:Structured_Name .
  ?name6 up:fullName 'Elongation factor methyltransferase 5' ;
    rdf:type up:Structured_Name .
  ?case7 up:alternativeName ?name9 ,
      ?name10 ;
    up:recommendedName ?name8 .
  ?name8 up:ecName '2.1.1.-' ;
    up:fullName 'EEF1A lysine methyltransferase 1' ;
    rdf:type up:Structured_Name .
  ?name9 up:fullName 'N(6)-adenine-specific DNA methyltransferase 2' ;
    rdf:type up:Structured_Name .
  ?name10 up:fullName 'Protein-lysine N-methyltransferase N6AMT2' ;
    rdf:type up:Structured_Name .
  ?case11 up:recommendedName ?name12 .
  ?name12 up:ecName '2.1.1.-' ;
    up:fullName ?nameValue13 ;
    rdf:type up:Structured_Name .
  _:870163 a rdf:Statement ;
    up:attribution _:870149 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation0 .
  _:870164 a rdf:Statement ;
    up:attribution _:870150 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:870165 a rdf:Statement ;
    up:attribution _:870151 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:963 .
  _:870166 a rdf:Statement ;
    up:attribution _:870152 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:489 .
  _:870167 a rdf:Statement ;
    up:attribution _:870153 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:808 .
  _:870168 a rdf:Statement ;
    up:attribution _:870154 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005737 .
  _:870169 a rdf:Statement ;
    up:attribution _:870155 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0016279 .
  _:870170 a rdf:Statement ;
    up:attribution _:870156 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0018022 .
  _:870171 a rdf:Statement ;
    up:attribution _:870157 ;
    rdf:subject ?case3 ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name4 .
  _:870172 a rdf:Statement ;
    up:attribution _:870158 ;
    rdf:subject ?case3 ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name6 .
  _:870173 a rdf:Statement ;
    up:attribution _:870159 ;
    rdf:subject ?case7 ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name8 .
  _:870174 a rdf:Statement ;
    up:attribution _:870160 ;
    rdf:subject ?case7 ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name9 .
  _:870175 a rdf:Statement ;
    up:attribution _:870161 ;
    rdf:subject ?case7 ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name10 .
  _:870176 a rdf:Statement ;
    up:attribution _:870162 ;
    rdf:subject ?case11 ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name12 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_03187
  #Rule MF_03187 Created by:? on:2015-02-13 Modified by:Edouard de Castro on:2019-11-20
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_03187 .
  ?thisOrganism rdfs:subClassOf+ taxon:2759 .
  BIND(URI(CONCAT(STR(?this), '#MF_03187a0')) AS ?annotation0) .
  BIND(URI(CONCAT(STR(?this), '#MF_03187a2')) AS ?annotation2) .
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ taxon:4751 .
    BIND(?this AS ?case3) .
    BIND(URI(CONCAT(STR(?this), '#MF_03187a4')) AS ?name4) .
    OPTIONAL {
      ?this up:encodedBy ?gene17 .
      ?gene17 up:locusName ?geneLocus15 .
    }
    OPTIONAL {
      ?this up:encodedBy ?gene17 .
      ?gene17 up:orfName ?geneOrf16 .
    }
    BIND(IF(BOUND(?geneLocus15), ?geneLocus15, ?geneOrf16) AS ?part14) .
    BIND(CONCAT('Protein-lysine N-methyltransferase ', ?part14) AS ?nameValue5) .
    BIND(URI(CONCAT(STR(?this), '#MF_03187a6')) AS ?name6) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ taxon:7742 .
    BIND(?this AS ?case7) .
    BIND(URI(CONCAT(STR(?this), '#MF_03187a8')) AS ?name8) .
    BIND(URI(CONCAT(STR(?this), '#MF_03187a9')) AS ?name9) .
    BIND(URI(CONCAT(STR(?this), '#MF_03187a10')) AS ?name10) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    FILTER (! (EXISTS {
      VALUES ?supertaxon18 {taxon:4751 taxon:7742}
      ?thisOrganism rdfs:subClassOf+ ?supertaxon18 .
    })) .
    BIND(?this AS ?case11) .
    BIND(URI(CONCAT(STR(?this), '#MF_03187a12')) AS ?name12) .
    OPTIONAL {
      ?this up:encodedBy ?gene22 .
      ?gene22 up:locusName ?geneLocus20 .
    }
    OPTIONAL {
      ?this up:encodedBy ?gene22 .
      ?gene22 up:orfName ?geneOrf21 .
    }
    BIND(IF(BOUND(?geneLocus20), ?geneLocus20, ?geneOrf21) AS ?part19) .
    BIND(CONCAT('Protein-lysine N-methyltransferase ', ?part19) AS ?nameValue13) .
  }
}
""" .

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