@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_00657#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_00657#construct-template-78>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-54>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-36>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-30>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-4>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-77>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-42>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-5>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-0>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-8>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-76>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-2>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-52>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-40>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-75>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-51>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-6>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-13>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-27>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-74>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-50>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-73>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-1>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-35>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-38>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-71>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-70>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-33>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-10>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-9>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-23>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-14>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-37>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-25>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-17>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-21>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-45>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-41>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-19>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-11>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-29>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-32>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-22>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-49>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-48>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-39>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-68>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-67>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-66>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-65>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-64>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-62>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-60>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-84>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-83>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-82>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-81>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-80>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-59>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-57>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_00657#construct-template-79>, <http://purl.uniprot.org/unirules/MF_00657#construct-template-55>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_00657#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_00657#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:249888 up:source unirule:MF_00657 .
  _:249889 up:source unirule:MF_00657 .
  _:249890 up:source unirule:MF_00657 .
  _:249891 up:source unirule:MF_00657 .
  _:249892 up:source unirule:MF_00657 .
  _:249893 up:source unirule:MF_00657 .
  _:249894 up:source unirule:MF_00657 .
  _:249895 up:source unirule:MF_00657 .
  _:249896 up:source unirule:MF_00657 .
  _:249897 up:source unirule:MF_00657 .
  _:249898 up:source unirule:MF_00657 .
  _:249899 up:source unirule:MF_00657 .
  _:249900 up:source unirule:MF_00657 .
  ?this up:classifiedWith GO:0016706 ,
      keyword:223 ,
      keyword:560 .
  ?case0 up:classifiedWith GO:0005506 ,
      keyword:408 ,
      keyword:479 ,
      keyword:847 .
  ?case1 up:recommendedName ?name2 .
  ?name2 up:ecName '1.14.11.-' ;
    up:fullName 'PKHD-type hydroxylase YbiX' ;
    rdf:type up:Structured_Name .
  ?case3 up:recommendedName ?name4 .
  ?name4 up:ecName '1.14.11.-' ;
    up:fullName ?nameValue5 ;
    rdf:type up:Structured_Name .
  ?pfs6 up:annotation ?annotation7 ,
      ?annotation13 ,
      ?annotation19 .
  ?annotation7 faldo:begin ?pfsb8 ;
    faldo:end ?pfse9 ;
    up:ligand ?ligand10 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb8 faldo:position ?thisPositionOn11 ;
    rdf:type faldo:ExactPosition .
  ?pfse9 faldo:position ?thisPositionOn12 ;
    rdf:type faldo:ExactPosition .
  ?ligand10 rdfs:subClassOf chebi:24875 .
  ?annotation13 faldo:begin ?pfsb14 ;
    faldo:end ?pfse15 ;
    up:ligand ?ligand16 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb14 faldo:position ?thisPositionOn17 ;
    rdf:type faldo:ExactPosition .
  ?pfse15 faldo:position ?thisPositionOn18 ;
    rdf:type faldo:ExactPosition .
  ?ligand16 rdfs:subClassOf chebi:24875 .
  ?annotation19 faldo:begin ?pfsb20 ;
    faldo:end ?pfse21 ;
    up:ligand ?ligand22 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb20 faldo:position ?thisPositionOn23 ;
    rdf:type faldo:ExactPosition .
  ?pfse21 faldo:position ?thisPositionOn24 ;
    rdf:type faldo:ExactPosition .
  ?ligand22 rdfs:subClassOf chebi:24875 .
  ?pfs25 up:annotation ?annotation26 .
  ?annotation26 faldo:begin ?pfsb27 ;
    faldo:end ?pfse28 ;
    up:ligand ?ligand29 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb27 faldo:position ?thisPositionOn30 ;
    rdf:type faldo:ExactPosition .
  ?pfse28 faldo:position ?thisPositionOn31 ;
    rdf:type faldo:ExactPosition .
  ?ligand29 rdfs:subClassOf chebi:16810 .
  _:249901 a rdf:Statement ;
    up:attribution _:249888 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:560 .
  _:249902 a rdf:Statement ;
    up:attribution _:249889 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:223 .
  _:249903 a rdf:Statement ;
    up:attribution _:249890 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0016706 .
  _:249904 a rdf:Statement ;
    up:attribution _:249891 ;
    rdf:subject ?case0 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:479 .
  _:249905 a rdf:Statement ;
    up:attribution _:249892 ;
    rdf:subject ?case0 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:408 .
  _:249906 a rdf:Statement ;
    up:attribution _:249893 ;
    rdf:subject ?case0 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:847 .
  _:249907 a rdf:Statement ;
    up:attribution _:249894 ;
    rdf:subject ?case0 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005506 .
  _:249908 a rdf:Statement ;
    up:attribution _:249895 ;
    rdf:subject ?case1 ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name2 .
  _:249909 a rdf:Statement ;
    up:attribution _:249896 ;
    rdf:subject ?case3 ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name4 .
  _:249910 a rdf:Statement ;
    up:source unirule:MF_00657 ;
    rdf:subject ?pfs6 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:249911 a rdf:Statement ;
    up:attribution _:249897 ;
    rdf:subject ?pfs6 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:249912 a rdf:Statement ;
    up:source unirule:MF_00657 ;
    rdf:subject ?pfs6 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation13 .
  _:249913 a rdf:Statement ;
    up:attribution _:249898 ;
    rdf:subject ?pfs6 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation13 .
  _:249914 a rdf:Statement ;
    up:source unirule:MF_00657 ;
    rdf:subject ?pfs6 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation19 .
  _:249915 a rdf:Statement ;
    up:attribution _:249899 ;
    rdf:subject ?pfs6 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation19 .
  _:249916 a rdf:Statement ;
    up:source unirule:MF_00657 ;
    rdf:subject ?pfs25 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation26 .
  _:249917 a rdf:Statement ;
    up:attribution _:249900 ;
    rdf:subject ?pfs25 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation26 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_00657
  #Rule MF_00657 Created by:? on:2005-02-28 Modified by:Edouard de Castro on:2023-02-17
  VALUES ?supertaxon32 {taxon:1117 taxon:1224}
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_00657 .
  ?thisOrganism rdfs:subClassOf+ ?supertaxon32 .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch37 faldo:location ?templateMotifSequenceMatchRegionP7577938 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP7577940 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP75779MF_0065733 .
    ?templateMotifSequenceMatchRegionP7577938 faldo:begin ?templateMotifSequenceMatchBeginP7577939 .
    ?templateMotifSequenceMatchBeginP7577939 faldo:position ?templateMotifSequenceMatchBeginPositionP7577934 ;
      faldo:reference isoform:P75779-1 .
    ?templateMotifSequenceProfileAlignmentOperationP7577940 edam:has_input signature:MF_00657 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch41 faldo:location ?targetMotifMatchRegionMatch42 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0065744 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP75779MF_0065735 .
    ?targetMotifMatchRegionMatch42 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0065743 .
    ?targetMotifMatchRegionMatchBeginMF_0065743 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0065736 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0065744 edam:has_input signature:MF_00657 ;
      rdf:type edam:operation_0300 .
    BIND(?this AS ?tagFTGRP_1) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP75779MF_0065733, 1, (STRLEN(?templateMotifCigarP75779MF_0065733) - STRLEN(REPLACE(?templateMotifCigarP75779MF_0065733, CONCAT('^(?:-*[^-]){', STR(((96 - ?templateMotifSequenceMatchBeginPositionP7577934) + 1)), '}'), '')))), '[a-z]', '')) AS ?step145) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP75779MF_0065735, 1, (STRLEN(?targetMotifMatchCigarP75779MF_0065735) - STRLEN(REPLACE(?targetMotifMatchCigarP75779MF_0065735, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP75779MF_0065735, 1, (STRLEN(?targetMotifMatchCigarP75779MF_0065735) - STRLEN(REPLACE(?targetMotifMatchCigarP75779MF_0065735, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), '')))), '[^-]', ''))) AS ?step246) .
    BIND(((?step246 + ?targetMotifMatchRegionMatchBeginPositionMF_0065736) - 1) AS ?thisPositionOn11) .
    BIND(?thisPositionOn11 AS ?thisPositionOn12) .
    BIND(?this AS ?pfs1t47) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn11))) AS ?pfsb8) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn12))) AS ?pfse9) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn11, 1) = 'H')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP75779MF_0065733, 1, (STRLEN(?templateMotifCigarP75779MF_0065733) - STRLEN(REPLACE(?templateMotifCigarP75779MF_0065733, CONCAT('^(?:-*[^-]){', STR(((98 - ?templateMotifSequenceMatchBeginPositionP7577934) + 1)), '}'), '')))), '[a-z]', '')) AS ?step148) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP75779MF_0065735, 1, (STRLEN(?targetMotifMatchCigarP75779MF_0065735) - STRLEN(REPLACE(?targetMotifMatchCigarP75779MF_0065735, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP75779MF_0065735, 1, (STRLEN(?targetMotifMatchCigarP75779MF_0065735) - STRLEN(REPLACE(?targetMotifMatchCigarP75779MF_0065735, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), '')))), '[^-]', ''))) AS ?step249) .
    BIND(((?step249 + ?targetMotifMatchRegionMatchBeginPositionMF_0065736) - 1) AS ?thisPositionOn17) .
    BIND(?thisPositionOn17 AS ?thisPositionOn18) .
    BIND(?this AS ?pfs1t50) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn17))) AS ?pfsb14) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn18))) AS ?pfse15) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn17, 1) = 'D')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP75779MF_0065733, 1, (STRLEN(?templateMotifCigarP75779MF_0065733) - STRLEN(REPLACE(?templateMotifCigarP75779MF_0065733, CONCAT('^(?:-*[^-]){', STR(((158 - ?templateMotifSequenceMatchBeginPositionP7577934) + 1)), '}'), '')))), '[a-z]', '')) AS ?step151) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP75779MF_0065735, 1, (STRLEN(?targetMotifMatchCigarP75779MF_0065735) - STRLEN(REPLACE(?targetMotifMatchCigarP75779MF_0065735, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP75779MF_0065735, 1, (STRLEN(?targetMotifMatchCigarP75779MF_0065735) - STRLEN(REPLACE(?targetMotifMatchCigarP75779MF_0065735, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), '')))), '[^-]', ''))) AS ?step252) .
    BIND(((?step252 + ?targetMotifMatchRegionMatchBeginPositionMF_0065736) - 1) AS ?thisPositionOn23) .
    BIND(?thisPositionOn23 AS ?thisPositionOn24) .
    BIND(?this AS ?pfs1t53) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn23))) AS ?pfsb20) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn24))) AS ?pfse21) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn23, 1) = 'H')) .
    BIND(?this AS ?pfs6) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch58 faldo:location ?templateMotifSequenceMatchRegionP7577959 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP7577961 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP75779MF_0065754 .
    ?templateMotifSequenceMatchRegionP7577959 faldo:begin ?templateMotifSequenceMatchBeginP7577960 .
    ?templateMotifSequenceMatchBeginP7577960 faldo:position ?templateMotifSequenceMatchBeginPositionP7577955 ;
      faldo:reference isoform:P75779-1 .
    ?templateMotifSequenceProfileAlignmentOperationP7577961 edam:has_input signature:MF_00657 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch62 faldo:location ?targetMotifMatchRegionMatch63 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0065765 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP75779MF_0065756 .
    ?targetMotifMatchRegionMatch63 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0065764 .
    ?targetMotifMatchRegionMatchBeginMF_0065764 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0065757 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0065765 edam:has_input signature:MF_00657 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP75779MF_0065754, 1, (STRLEN(?templateMotifCigarP75779MF_0065754) - STRLEN(REPLACE(?templateMotifCigarP75779MF_0065754, CONCAT('^(?:-*[^-]){', STR(((168 - ?templateMotifSequenceMatchBeginPositionP7577955) + 1)), '}'), '')))), '[a-z]', '')) AS ?step166) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP75779MF_0065756, 1, (STRLEN(?targetMotifMatchCigarP75779MF_0065756) - STRLEN(REPLACE(?targetMotifMatchCigarP75779MF_0065756, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step166), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP75779MF_0065756, 1, (STRLEN(?targetMotifMatchCigarP75779MF_0065756) - STRLEN(REPLACE(?targetMotifMatchCigarP75779MF_0065756, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step166), '}'), '')))), '[^-]', ''))) AS ?step267) .
    BIND(((?step267 + ?targetMotifMatchRegionMatchBeginPositionMF_0065757) - 1) AS ?thisPositionOn30) .
    BIND(?thisPositionOn30 AS ?thisPositionOn31) .
    BIND(?this AS ?pfs2t68) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn30))) AS ?pfsb27) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn31))) AS ?pfse28) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn30, 1) = 'R')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00657a26')) AS ?annotation26) .
    BIND(?this AS ?pfs25) .
  }
  OPTIONAL {
    ?this a up:Protein .
    BIND(?this AS ?caseWithTag69) .
  }
  BIND(IF(BOUND(?tagFTGRP_1), ?caseWithTag69, ?UNBOUND_VARIABLE) AS ?case0) .
  OPTIONAL {
    ?this a up:Protein .
    VALUES ?supertaxon70 {taxon:561 taxon:620 taxon:590}
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ ?supertaxon70 .
    BIND(?this AS ?case1) .
    BIND(URI(CONCAT(STR(?this), '#MF_00657a2')) AS ?name2) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    FILTER (! (EXISTS {
      VALUES ?supertaxon71 {taxon:561 taxon:620 taxon:590}
      ?thisOrganism rdfs:subClassOf+ ?supertaxon71 .
    })) .
    BIND(?this AS ?case3) .
    BIND(URI(CONCAT(STR(?this), '#MF_00657a4')) AS ?name4) .
    OPTIONAL {
      ?this up:encodedBy ?gene75 .
      ?gene75 up:locusName ?geneLocus73 .
    }
    OPTIONAL {
      ?this up:encodedBy ?gene75 .
      ?gene75 up:orfName ?geneOrf74 .
    }
    BIND(IF(BOUND(?geneLocus73), ?geneLocus73, ?geneOrf74) AS ?part72) .
    BIND(CONCAT('PKHD-type hydroxylase ', ?part72) AS ?nameValue5) .
  }
}
""" .

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