@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_01231#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_01231#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-47>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-63>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-40>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-34>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-37>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-5>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-69>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-62>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-1>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-55>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-51>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-36>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-42>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-30>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-48>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-38>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-52>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-33>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-39>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-14>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-10>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-0>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-67>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-50>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-57>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-22>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-43>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-44>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-41>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-65>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-19>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-71>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-25>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-29>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-2>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-26>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-4>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-17>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-35>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-59>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_01231#construct-template-13>, <http://purl.uniprot.org/unirules/MF_01231#construct-template-70>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_01231#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_01231#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:434607 up:source unirule:MF_01231 .
  _:434608 up:source unirule:MF_01231 .
  _:434609 up:source unirule:MF_01231 .
  _:434610 up:source unirule:MF_01231 .
  _:434611 up:source unirule:MF_01231 .
  _:434612 up:source unirule:MF_01231 .
  _:434613 up:source unirule:MF_01231 .
  _:434614 up:source unirule:MF_01231 .
  _:434615 up:source unirule:MF_01231 .
  _:434616 up:source unirule:MF_01231 .
  _:434617 up:source unirule:MF_01231 .
  ?this up:annotation ?annotation2 ,
      ?annotation3 ,
      ?annotation5 ,
      ?annotation6 ;
    up:classifiedWith GO:0018786 ,
      keyword:378 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '3.8.1.5' ;
    up:fullName 'Haloalkane dehalogenase' ;
    rdf:type up:Structured_Name .
  ?gene1 skos:prefLabel 'dhaA' .
  ?annotation2 a up:Function_Annotation ;
    rdfs:comment 'Catalyzes hydrolytic cleavage of carbon-halogen bonds in halogenated aliphatic compounds, leading to the formation of the corresponding primary alcohols, halide ions and protons.' .
  ?annotation3 up:activity ?activity4 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity4 up:catalyticActivity <http://rdf.rhea-db.org/19081>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/3.8.1.5>.
  ?annotation5 a up:Subunit_Annotation ;
    rdfs:comment 'Monomer.' .
  ?annotation6 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the haloalkane dehalogenase family. Type 2 subfamily.' .
  ?pfs7 up:annotation ?annotation8 .
  ?annotation8 faldo:begin ?pfsb9 ;
    faldo:end ?pfse10 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Nucleophile' .
  ?pfsb9 faldo:position ?thisPositionOn11 ;
    rdf:type faldo:ExactPosition .
  ?pfse10 faldo:position ?thisPositionOn12 ;
    rdf:type faldo:ExactPosition .
  ?pfs13 up:annotation ?annotation14 .
  ?annotation14 faldo:begin ?pfsb15 ;
    faldo:end ?pfse16 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Proton donor' .
  ?pfsb15 faldo:position ?thisPositionOn17 ;
    rdf:type faldo:ExactPosition .
  ?pfse16 faldo:position ?thisPositionOn18 ;
    rdf:type faldo:ExactPosition .
  ?pfs19 up:annotation ?annotation20 .
  ?annotation20 faldo:begin ?pfsb21 ;
    faldo:end ?pfse22 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Proton acceptor' .
  ?pfsb21 faldo:position ?thisPositionOn23 ;
    rdf:type faldo:ExactPosition .
  ?pfse22 faldo:position ?thisPositionOn24 ;
    rdf:type faldo:ExactPosition .
  _:434618 a rdf:Statement ;
    up:attribution _:434607 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:434619 a rdf:Statement ;
    up:attribution _:434608 ;
    rdf:subject ?gene1 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene1 .
  _:434620 a rdf:Statement ;
    up:attribution _:434609 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:434621 a rdf:Statement ;
    up:attribution _:434610 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:434622 a rdf:Statement ;
    up:attribution _:434611 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:434623 a rdf:Statement ;
    up:attribution _:434612 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:434624 a rdf:Statement ;
    up:attribution _:434613 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:378 .
  _:434625 a rdf:Statement ;
    up:attribution _:434614 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0018786 .
  _:434626 a rdf:Statement ;
    up:source unirule:MF_01231 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:434627 a rdf:Statement ;
    up:attribution _:434615 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:434628 a rdf:Statement ;
    up:source unirule:MF_01231 ;
    rdf:subject ?pfs13 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation14 .
  _:434629 a rdf:Statement ;
    up:attribution _:434616 ;
    rdf:subject ?pfs13 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation14 .
  _:434630 a rdf:Statement ;
    up:source unirule:MF_01231 ;
    rdf:subject ?pfs19 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation20 .
  _:434631 a rdf:Statement ;
    up:attribution _:434617 ;
    rdf:subject ?pfs19 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation20 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_01231
  #Rule MF_01231 Created by:? on:2005-02-28 Modified by:Catherine Rivoire on:2023-01-17
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_01231 .
  ?thisOrganism rdfs:subClassOf+ taxon:2 .
  BIND(URI(CONCAT(STR(?this), '#MF_01231a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_01231a2')) AS ?annotation2) .
  BIND(URI(CONCAT(STR(?this), '#MF_01231a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_01231a5')) AS ?annotation5) .
  BIND(URI(CONCAT(STR(?this), '#MF_01231a6')) AS ?annotation6) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch29 faldo:location ?templateMotifSequenceMatchRegionD4Z2G130 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationD4Z2G132 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarD4Z2G1MF_0123125 .
    ?templateMotifSequenceMatchRegionD4Z2G130 faldo:begin ?templateMotifSequenceMatchBeginD4Z2G131 .
    ?templateMotifSequenceMatchBeginD4Z2G131 faldo:position ?templateMotifSequenceMatchBeginPositionD4Z2G126 ;
      faldo:reference isoform:D4Z2G1-1 .
    ?templateMotifSequenceProfileAlignmentOperationD4Z2G132 edam:has_input signature:MF_01231 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch33 faldo:location ?targetMotifMatchRegionMatch34 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0123136 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarD4Z2G1MF_0123127 .
    ?targetMotifMatchRegionMatch34 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0123135 .
    ?targetMotifMatchRegionMatchBeginMF_0123135 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0123128 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0123136 edam:has_input signature:MF_01231 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarD4Z2G1MF_0123125, 1, (STRLEN(?templateMotifCigarD4Z2G1MF_0123125) - STRLEN(REPLACE(?templateMotifCigarD4Z2G1MF_0123125, CONCAT('^(?:-*[^-]){', STR(((108 - ?templateMotifSequenceMatchBeginPositionD4Z2G126) + 1)), '}'), '')))), '[a-z]', '')) AS ?step137) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarD4Z2G1MF_0123127, 1, (STRLEN(?targetMotifMatchCigarD4Z2G1MF_0123127) - STRLEN(REPLACE(?targetMotifMatchCigarD4Z2G1MF_0123127, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step137), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarD4Z2G1MF_0123127, 1, (STRLEN(?targetMotifMatchCigarD4Z2G1MF_0123127) - STRLEN(REPLACE(?targetMotifMatchCigarD4Z2G1MF_0123127, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step137), '}'), '')))), '[^-]', ''))) AS ?step238) .
    BIND(((?step238 + ?targetMotifMatchRegionMatchBeginPositionMF_0123128) - 1) AS ?thisPositionOn11) .
    BIND(?thisPositionOn11 AS ?thisPositionOn12) .
    BIND(?this AS ?pfs1t39) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn11))) AS ?pfsb9) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn12))) AS ?pfse10) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn11, 1) = 'D')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01231a8')) AS ?annotation8) .
    BIND(?this AS ?pfs7) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch44 faldo:location ?templateMotifSequenceMatchRegionD4Z2G145 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationD4Z2G147 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarD4Z2G1MF_0123140 .
    ?templateMotifSequenceMatchRegionD4Z2G145 faldo:begin ?templateMotifSequenceMatchBeginD4Z2G146 .
    ?templateMotifSequenceMatchBeginD4Z2G146 faldo:position ?templateMotifSequenceMatchBeginPositionD4Z2G141 ;
      faldo:reference isoform:D4Z2G1-1 .
    ?templateMotifSequenceProfileAlignmentOperationD4Z2G147 edam:has_input signature:MF_01231 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch48 faldo:location ?targetMotifMatchRegionMatch49 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0123151 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarD4Z2G1MF_0123142 .
    ?targetMotifMatchRegionMatch49 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0123150 .
    ?targetMotifMatchRegionMatchBeginMF_0123150 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0123143 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0123151 edam:has_input signature:MF_01231 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarD4Z2G1MF_0123140, 1, (STRLEN(?templateMotifCigarD4Z2G1MF_0123140) - STRLEN(REPLACE(?templateMotifCigarD4Z2G1MF_0123140, CONCAT('^(?:-*[^-]){', STR(((132 - ?templateMotifSequenceMatchBeginPositionD4Z2G141) + 1)), '}'), '')))), '[a-z]', '')) AS ?step152) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarD4Z2G1MF_0123142, 1, (STRLEN(?targetMotifMatchCigarD4Z2G1MF_0123142) - STRLEN(REPLACE(?targetMotifMatchCigarD4Z2G1MF_0123142, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step152), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarD4Z2G1MF_0123142, 1, (STRLEN(?targetMotifMatchCigarD4Z2G1MF_0123142) - STRLEN(REPLACE(?targetMotifMatchCigarD4Z2G1MF_0123142, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step152), '}'), '')))), '[^-]', ''))) AS ?step253) .
    BIND(((?step253 + ?targetMotifMatchRegionMatchBeginPositionMF_0123143) - 1) AS ?thisPositionOn17) .
    BIND(?thisPositionOn17 AS ?thisPositionOn18) .
    BIND(?this AS ?pfs1t54) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn17))) AS ?pfsb15) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn18))) AS ?pfse16) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn17, 1) = 'E')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01231a14')) AS ?annotation14) .
    BIND(?this AS ?pfs13) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch59 faldo:location ?templateMotifSequenceMatchRegionD4Z2G160 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationD4Z2G162 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarD4Z2G1MF_0123155 .
    ?templateMotifSequenceMatchRegionD4Z2G160 faldo:begin ?templateMotifSequenceMatchBeginD4Z2G161 .
    ?templateMotifSequenceMatchBeginD4Z2G161 faldo:position ?templateMotifSequenceMatchBeginPositionD4Z2G156 ;
      faldo:reference isoform:D4Z2G1-1 .
    ?templateMotifSequenceProfileAlignmentOperationD4Z2G162 edam:has_input signature:MF_01231 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch63 faldo:location ?targetMotifMatchRegionMatch64 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0123166 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarD4Z2G1MF_0123157 .
    ?targetMotifMatchRegionMatch64 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0123165 .
    ?targetMotifMatchRegionMatchBeginMF_0123165 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0123158 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0123166 edam:has_input signature:MF_01231 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarD4Z2G1MF_0123155, 1, (STRLEN(?templateMotifCigarD4Z2G1MF_0123155) - STRLEN(REPLACE(?templateMotifCigarD4Z2G1MF_0123155, CONCAT('^(?:-*[^-]){', STR(((272 - ?templateMotifSequenceMatchBeginPositionD4Z2G156) + 1)), '}'), '')))), '[a-z]', '')) AS ?step167) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarD4Z2G1MF_0123157, 1, (STRLEN(?targetMotifMatchCigarD4Z2G1MF_0123157) - STRLEN(REPLACE(?targetMotifMatchCigarD4Z2G1MF_0123157, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step167), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarD4Z2G1MF_0123157, 1, (STRLEN(?targetMotifMatchCigarD4Z2G1MF_0123157) - STRLEN(REPLACE(?targetMotifMatchCigarD4Z2G1MF_0123157, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step167), '}'), '')))), '[^-]', ''))) AS ?step268) .
    BIND(((?step268 + ?targetMotifMatchRegionMatchBeginPositionMF_0123158) - 1) AS ?thisPositionOn23) .
    BIND(?thisPositionOn23 AS ?thisPositionOn24) .
    BIND(?this AS ?pfs1t69) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn23))) AS ?pfsb21) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn24))) AS ?pfse22) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn23, 1) = 'H')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01231a20')) AS ?annotation20) .
    BIND(?this AS ?pfs19) .
  }
}
""" .

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