query-0fa7b196aeca3ccddee75436f9022f2f

rq turtle/ttl

Call for reduction of code length and/or running time. I already had to remove the documentation. This is the structure: Wikidata:WikiProject Visual arts/Artists same name which seems to add some more code) and often times out! It is used to find duplicates of visual artist items at Template:Wikidata listCan anyone help to reduce the code length and/or running time or somehow simplify the following query? It almost exceeds the maximal query length (at least when fed to precision of date differences number of date differences (P570)date of death and (P569)date of birth mean difference of Sort by: Calculate difference Break down to smallest common precision: (P570)date of death and (P569)date of birth For (P3373)sibling or (P460)said to be the same as , (P1889)different from Filter out those connected via either Look for matching English labels or aliases in items Take visual artist items

Use at

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX psv: <http://www.wikidata.org/prop/statement/value/>
PREFIX p: <http://www.wikidata.org/prop/>
SELECT DISTINCT ?itemName
                ?item ?dob1dispStr ?dod1dispStr ?occ1
                ?item2 ?dob2dispStr ?dod2dispStr ?occ2
                ?dobdiff ?doddiff ?meandiff ?meanPrec where {

{
SELECT DISTINCT ?item ?item2 ?itemName ?occ1 ?occ2 WHERE {
  ?item wdt:P106 ?occ1 .
  ?occ1 wdt:P279* wd:Q3391743 .
  { ?item rdfs:label ?itemName. } UNION { ?item skos:altLabel ?itemName. }
  ?item2 wdt:P106 ?occ2 .
  ?occ2 wdt:P279* wd:Q3391743 .
  { ?item2 rdfs:label ?itemName. } UNION { ?item2 skos:altLabel ?itemName. }
  FILTER((LANG(?itemName)) = "en")
  FILTER((STR(?item)) < (STR(?item2)))
}
LIMIT 100000
}  MINUS { ?item wdt:P1889 \u007C wdt:P460 \u007C wdt:P3373 ?item2. }
  MINUS { ?item2 wdt:P1889 \u007C wdt:P460 \u007C wdt:P3373 ?item. }

  OPTIONAL {
    ?item p:P569/psv:P569 [
      wikibase:timeValue ?dob1Val;
      wikibase:timePrecision ?dob1Prec ] .
    BIND(STR(?dob1Val) AS ?dob1fullStr)
    BIND(IF(?dob1Prec <= 10, 3, 0) AS ?dob1insigDayChars)
    BIND(IF(?dob1Prec <= 9, 3, 0) AS ?dob1insigMonthChars)
    BIND(IF(?dob1Prec <= 8, 9-?dob1Prec, 0) AS ?dob1insigYearChars)
    BIND(?dob1insigDayChars + ?dob1insigMonthChars + ?dob1insigYearChars AS ?dob1insigDateChars)
    BIND(SUBSTR(?dob1fullStr, 1, STRLEN(?dob1fullStr) - 10 - ?dob1insigDateChars) AS ?dob1SignStr)
    BIND(CONCAT(?dob1SignStr, SUBSTR("0000000000000000", 1, ?dob1insigYearChars)) AS ?dob1dispStr)
    }

  OPTIONAL {
    ?item2 p:P569/psv:P569 [
      wikibase:timeValue ?dob2Val;
      wikibase:timePrecision ?dob2Prec ] .
    BIND(STR(?dob2Val) AS ?dob2fullStr)
    BIND(IF(?dob2Prec <= 10, 3, 0) AS ?dob2insigDayChars)
    BIND(IF(?dob2Prec <= 9, 3, 0) AS ?dob2insigMonthChars)
    BIND(IF(?dob2Prec <= 8, 9-?dob2Prec, 0) AS ?dob2insigYearChars)
    BIND(?dob2insigDayChars + ?dob2insigMonthChars + ?dob2insigYearChars AS ?dob2insigDateChars)
    BIND(SUBSTR(?dob2fullStr, 1, STRLEN(?dob2fullStr) - 10 - ?dob2insigDateChars) AS ?dob2SignStr)
    BIND(CONCAT(?dob2SignStr, SUBSTR("0000000000000000", 1, ?dob2insigYearChars)) AS ?dob2dispStr)
    }

  BIND(IF(?dob1insigDateChars > ?dob2insigDateChars, ?dob1insigDateChars, ?dob2insigDateChars) AS ?dobComInsigDateChars)
  BIND(SUBSTR(?dob1fullStr, 1, STRLEN(?dob1fullStr) - 10 - ?dobComInsigDateChars) AS ?dob1ComSigStr)
  BIND(SUBSTR(?dob2fullStr, 1, STRLEN(?dob2fullStr) - 10 - ?dobComInsigDateChars) AS ?dob2ComSigStr)
  BIND(STRDT(CONCAT(?dob1ComSigStr, SUBSTR("0000000000000000-01-01T00:00:00Z", 23 - ?dobComInsigDateChars)), xsd:dateTime) AS ?dob1ComSig)
  BIND(STRDT(CONCAT(?dob2ComSigStr, SUBSTR("0000000000000000-01-01T00:00:00Z", 23 - ?dobComInsigDateChars)), xsd:dateTime) AS ?dob2ComSig)
  BIND((CEIL(ABS((?dob1ComSig - ?dob2ComSig) / 3.652425))) / 100 AS ?dobdiff)


  OPTIONAL {
    ?item p:P570/psv:P570 [
      wikibase:timeValue ?dod1Val;
      wikibase:timePrecision ?dod1Prec ] .
    BIND(STR(?dod1Val) AS ?dod1fullStr)
    BIND(IF(?dod1Prec <= 10, 3, 0) AS ?dod1insigDayChars)
    BIND(IF(?dod1Prec <= 9, 3, 0) AS ?dod1insigMonthChars)
    BIND(IF(?dod1Prec <= 8, 9-?dod1Prec, 0) AS ?dod1insigYearChars)
    BIND(?dod1insigDayChars + ?dod1insigMonthChars + ?dod1insigYearChars AS ?dod1insigDateChars)
    BIND(SUBSTR(?dod1fullStr, 1, STRLEN(?dod1fullStr) - 10 - ?dod1insigDateChars) AS ?dod1SignStr)
    BIND(CONCAT(?dod1SignStr, SUBSTR("0000000000000000", 1, ?dod1insigYearChars)) AS ?dod1dispStr)
    }

  OPTIONAL {
    ?item2 p:P570/psv:P570 [
      wikibase:timeValue ?dod2Val;
      wikibase:timePrecision ?dod2Prec ] .
    BIND(STR(?dod2Val) AS ?dod2fullStr)
    BIND(IF(?dod2Prec <= 10, 3, 0) AS ?dod2insigDayChars)
    BIND(IF(?dod2Prec <= 9, 3, 0) AS ?dod2insigMonthChars)
    BIND(IF(?dod2Prec <= 8, 9-?dod2Prec, 0) AS ?dod2insigYearChars)
    BIND(?dod2insigDayChars + ?dod2insigMonthChars + ?dod2insigYearChars AS ?dod2insigDateChars)
    BIND(SUBSTR(?dod2fullStr, 1, STRLEN(?dod2fullStr) - 10 - ?dod2insigDateChars) AS ?dod2SignStr)
    BIND(CONCAT(?dod2SignStr, SUBSTR("0000000000000000", 1, ?dod2insigYearChars)) AS ?dod2dispStr)
    }

  BIND(IF(?dod1insigDateChars > ?dod2insigDateChars, ?dod1insigDateChars, ?dod2insigDateChars) AS ?dodComInsigDateChars)
  BIND(SUBSTR(?dod1fullStr, 1, STRLEN(?dod1fullStr) - 10 - ?dodComInsigDateChars) AS ?dod1ComSigStr)
  BIND(SUBSTR(?dod2fullStr, 1, STRLEN(?dod2fullStr) - 10 - ?dodComInsigDateChars) AS ?dod2ComSigStr)
  BIND(STRDT(CONCAT(?dod1ComSigStr, SUBSTR("0000000000000000-01-01T00:00:00Z", 23 - ?dodComInsigDateChars)), xsd:dateTime) AS ?dod1ComSig)
  BIND(STRDT(CONCAT(?dod2ComSigStr, SUBSTR("0000000000000000-01-01T00:00:00Z", 23 - ?dodComInsigDateChars)), xsd:dateTime) AS ?dod2ComSig)
  BIND((CEIL(ABS((?dod1ComSig - ?dod2ComSig) / 3.652425))) / 100 AS ?doddiff)

  BIND(BOUND(?dobdiff) AS ?dobdiffbound)
  BIND(BOUND(?doddiff) AS ?doddiffbound)

  BIND(IF(BOUND(?dobdiff), ?dobdiff, 0) AS ?dobdiffSf)
  BIND(IF(BOUND(?doddiff), ?doddiff, 0) AS ?doddiffSf)
  BIND((xsd:integer(?dobdiffbound) + xsd:integer(?doddiffbound)) AS ?numOfDateDiffs)
  BIND((CEIL((?dobdiffSf + ?doddiffSf) / ?numOfDateDiffs * 100) / 100) AS ?meandiff)

  BIND(IF(?dob1Prec < ?dob2Prec, ?dob1Prec, ?dob2Prec) AS ?dobComPrec)
  BIND(IF(?dod1Prec < ?dod2Prec, ?dod1Prec, ?dod2Prec) AS ?dodComPrec)
  BIND(BOUND(?dobComPrec) AS ?dobComPrecBound)
  BIND(BOUND(?dodComPrec) AS ?dodComPrecBound)
  BIND(IF(BOUND(?dobComPrec), ?dobComPrec, 0) AS ?dobComPrecSf)
  BIND(IF(BOUND(?dodComPrec), ?dodComPrec, 0) AS ?dodComPrecSf)
  BIND((xsd:integer(?dobComPrecBound) + xsd:integer(?dodComPrecBound)) AS ?numOfComPrecBound)
  BIND((?dobComPrecSf + ?dodComPrecSf) / ?numOfComPrecBound AS ?meanPrec)
}
ORDER BY (!(?dobdiffbound) && !(?doddiffbound)) ?meandiff (?numOfDateDiffs * -1) (?meanPrec * -1) ?itemName
LIMIT 500

Query found at

graph TD classDef projected fill:lightgreen; classDef literal fill:orange; classDef iri fill:yellow; v32("?dob1ComSig") v30("?dob1ComSigStr") v12("?dob1Prec") v18("?dob1SignStr") v11("?dob1Val") v19("?dob1dispStr"):::projected v13("?dob1fullStr") v17("?dob1insigDateChars") v14("?dob1insigDayChars") v15("?dob1insigMonthChars") v16("?dob1insigYearChars") v33("?dob2ComSig") v31("?dob2ComSigStr") v21("?dob2Prec") v27("?dob2SignStr") v20("?dob2Val") v28("?dob2dispStr"):::projected v22("?dob2fullStr") v26("?dob2insigDateChars") v23("?dob2insigDayChars") v24("?dob2insigMonthChars") v25("?dob2insigYearChars") v29("?dobComInsigDateChars") v61("?dobComPrec") v63("?dobComPrecBound") v65("?dobComPrecSf") v34("?dobdiff"):::projected v59("?dobdiffSf") v59("?dobdiffbound") v56("?dod1ComSig") v54("?dod1ComSigStr") v36("?dod1Prec") v42("?dod1SignStr") v35("?dod1Val") v43("?dod1dispStr"):::projected v37("?dod1fullStr") v41("?dod1insigDateChars") v38("?dod1insigDayChars") v39("?dod1insigMonthChars") v40("?dod1insigYearChars") v57("?dod2ComSig") v55("?dod2ComSigStr") v45("?dod2Prec") v51("?dod2SignStr") v44("?dod2Val") v52("?dod2dispStr"):::projected v46("?dod2fullStr") v50("?dod2insigDateChars") v47("?dod2insigDayChars") v48("?dod2insigMonthChars") v49("?dod2insigYearChars") v53("?dodComInsigDateChars") v62("?dodComPrec") v64("?dodComPrecBound") v66("?dodComPrecSf") v58("?doddiff"):::projected v60("?doddiffSf") v59("?doddiffbound") v7("?item"):::projected v8("?item2"):::projected v6("?itemName"):::projected v68("?meanPrec"):::projected v61("?meandiff"):::projected v67("?numOfComPrecBound") v61("?numOfDateDiffs") v9("?occ1"):::projected v10("?occ2"):::projected a2((" ")) a1((" ")) a4((" ")) a3((" ")) a6((" ")) a5((" ")) a8((" ")) a7((" ")) c5(["wd:Q3391743"]):::iri f0[["str(?item) < str(?item2)"]] f0 --> v7 f0 --> v8 f1[["?itemName = 'en'"]] f1 --> v6 v7 --"p:direct/P106"--> v9 v9 --"p:direct/P279"--> c5 subgraph union0[" Union "] subgraph union0l[" "] style union0l fill:#abf,stroke-dasharray: 3 3; v7 --"skos:altLabel"--> v6 end subgraph union0r[" "] style union0r fill:#abf,stroke-dasharray: 3 3; v7 --"rdfs:label"--> v6 end union0r <== or ==> union0l end v8 --"p:direct/P106"--> v10 v10 --"p:direct/P279"--> c5 subgraph union1[" Union "] subgraph union1l[" "] style union1l fill:#abf,stroke-dasharray: 3 3; v8 --"skos:altLabel"--> v6 end subgraph union1r[" "] style union1r fill:#abf,stroke-dasharray: 3 3; v8 --"rdfs:label"--> v6 end union1r <== or ==> union1l end subgraph minus2["MINUS"] style minus2 stroke-width:6px,fill:pink,stroke:red; subgraph union2[" Union "] subgraph union2l[" "] style union2l fill:#abf,stroke-dasharray: 3 3; subgraph union3[" Union "] subgraph union3l[" "] style union3l fill:#abf,stroke-dasharray: 3 3; v7 --"p:direct/P3373"--> v8 end subgraph union3r[" "] style union3r fill:#abf,stroke-dasharray: 3 3; v7 --"p:direct/P460"--> v8 end union3r <== or ==> union3l end end subgraph union2r[" "] style union2r fill:#abf,stroke-dasharray: 3 3; v7 --"p:direct/P1889"--> v8 end union2r <== or ==> union2l end end subgraph minus3["MINUS"] style minus3 stroke-width:6px,fill:pink,stroke:red; subgraph union4[" Union "] subgraph union4l[" "] style union4l fill:#abf,stroke-dasharray: 3 3; subgraph union5[" Union "] subgraph union5l[" "] style union5l fill:#abf,stroke-dasharray: 3 3; v8 --"p:direct/P3373"--> v7 end subgraph union5r[" "] style union5r fill:#abf,stroke-dasharray: 3 3; v8 --"p:direct/P460"--> v7 end union5r <== or ==> union5l end end subgraph union4r[" "] style union4r fill:#abf,stroke-dasharray: 3 3; v8 --"p:direct/P1889"--> v7 end union4r <== or ==> union4l end end subgraph optional0["(optional)"] style optional0 fill:#bbf,stroke-dasharray: 5 5; a1 -."wikibase:timeValue".-> v11 a1 --"wikibase:timePrecision"--> v12 v7 --"p:P569"--> a2 a2 --"p:statement/value/P569"--> a1 bind4[/"str(?dob1Val)"/] v11 --o bind4 bind4 --as--o v13 bind5[/"if(?dob1Prec <= '10^^xsd:integer','3^^xsd:integer','0^^xsd:integer')"/] v12 --o bind5 bind5 --as--o v14 bind6[/"if(?dob1Prec <= '9^^xsd:integer','3^^xsd:integer','0^^xsd:integer')"/] v12 --o bind6 bind6 --as--o v15 bind7[/"if(?dob1Prec <= '8^^xsd:integer','9^^xsd:integer' - ?dob1Prec,'0^^xsd:integer')"/] v12 --o bind7 bind7 --as--o v16 bind8[/"?dob1insigDayChars + ?dob1insigMonthChars + ?dob1insigYearChars"/] v14 --o bind8 v15 --o bind8 v16 --o bind8 bind8 --as--o v17 bind9[/"substring(?dob1fullStr,'1^^xsd:integer',string-length(?dob1fullStr) - '10^^xsd:integer' - ?dob1insigDateChars)"/] v13 --o bind9 v17 --o bind9 bind9 --as--o v18 bind10[/"concat(?dob1SignStr,substring('0000000000000000','1^^xsd:integer',?dob1insigYearChars))"/] v18 --o bind10 v16 --o bind10 bind10 --as--o v19 end subgraph optional1["(optional)"] style optional1 fill:#bbf,stroke-dasharray: 5 5; a3 -."wikibase:timeValue".-> v20 a3 --"wikibase:timePrecision"--> v21 v8 --"p:P569"--> a4 a4 --"p:statement/value/P569"--> a3 bind11[/"str(?dob2Val)"/] v20 --o bind11 bind11 --as--o v22 bind12[/"if(?dob2Prec <= '10^^xsd:integer','3^^xsd:integer','0^^xsd:integer')"/] v21 --o bind12 bind12 --as--o v23 bind13[/"if(?dob2Prec <= '9^^xsd:integer','3^^xsd:integer','0^^xsd:integer')"/] v21 --o bind13 bind13 --as--o v24 bind14[/"if(?dob2Prec <= '8^^xsd:integer','9^^xsd:integer' - ?dob2Prec,'0^^xsd:integer')"/] v21 --o bind14 bind14 --as--o v25 bind15[/"?dob2insigDayChars + ?dob2insigMonthChars + ?dob2insigYearChars"/] v23 --o bind15 v24 --o bind15 v25 --o bind15 bind15 --as--o v26 bind16[/"substring(?dob2fullStr,'1^^xsd:integer',string-length(?dob2fullStr) - '10^^xsd:integer' - ?dob2insigDateChars)"/] v22 --o bind16 v26 --o bind16 bind16 --as--o v27 bind17[/"concat(?dob2SignStr,substring('0000000000000000','1^^xsd:integer',?dob2insigYearChars))"/] v27 --o bind17 v25 --o bind17 bind17 --as--o v28 end bind18[/"if(?dob1insigDateChars > ?dob2insigDateChars,?dob1insigDateChars,?dob2insigDateChars)"/] v17 --o bind18 v26 --o bind18 bind18 --as--o v29 bind19[/"substring(?dob1fullStr,'1^^xsd:integer',string-length(?dob1fullStr) - '10^^xsd:integer' - ?dobComInsigDateChars)"/] v13 --o bind19 v29 --o bind19 bind19 --as--o v30 bind20[/"substring(?dob2fullStr,'1^^xsd:integer',string-length(?dob2fullStr) - '10^^xsd:integer' - ?dobComInsigDateChars)"/] v22 --o bind20 v29 --o bind20 bind20 --as--o v31 bind21[/"STRDT(concat(?dob1ComSigStr,substring('0000000000000000-01-01T00:00:00Z','23^^xsd:integer' - ?dobComInsigDateChars)),'xsd:dateTime')"/] v30 --o bind21 v29 --o bind21 bind21 --as--o v32 bind22[/"STRDT(concat(?dob2ComSigStr,substring('0000000000000000-01-01T00:00:00Z','23^^xsd:integer' - ?dobComInsigDateChars)),'xsd:dateTime')"/] v31 --o bind22 v29 --o bind22 bind22 --as--o v33 bind23[/"numeric-ceil(numeric-abs(?dob1ComSig - ?dob2ComSig / '3.652425^^xsd:decimal')) / '100^^xsd:integer'"/] v32 --o bind23 v33 --o bind23 bind23 --as--o v34 subgraph optional2["(optional)"] style optional2 fill:#bbf,stroke-dasharray: 5 5; a5 -."wikibase:timeValue".-> v35 a5 --"wikibase:timePrecision"--> v36 v7 --"p:P570"--> a6 a6 --"p:statement/value/P570"--> a5 bind24[/"str(?dod1Val)"/] v35 --o bind24 bind24 --as--o v37 bind25[/"if(?dod1Prec <= '10^^xsd:integer','3^^xsd:integer','0^^xsd:integer')"/] v36 --o bind25 bind25 --as--o v38 bind26[/"if(?dod1Prec <= '9^^xsd:integer','3^^xsd:integer','0^^xsd:integer')"/] v36 --o bind26 bind26 --as--o v39 bind27[/"if(?dod1Prec <= '8^^xsd:integer','9^^xsd:integer' - ?dod1Prec,'0^^xsd:integer')"/] v36 --o bind27 bind27 --as--o v40 bind28[/"?dod1insigDayChars + ?dod1insigMonthChars + ?dod1insigYearChars"/] v38 --o bind28 v39 --o bind28 v40 --o bind28 bind28 --as--o v41 bind29[/"substring(?dod1fullStr,'1^^xsd:integer',string-length(?dod1fullStr) - '10^^xsd:integer' - ?dod1insigDateChars)"/] v37 --o bind29 v41 --o bind29 bind29 --as--o v42 bind30[/"concat(?dod1SignStr,substring('0000000000000000','1^^xsd:integer',?dod1insigYearChars))"/] v42 --o bind30 v40 --o bind30 bind30 --as--o v43 end subgraph optional3["(optional)"] style optional3 fill:#bbf,stroke-dasharray: 5 5; a7 -."wikibase:timeValue".-> v44 a7 --"wikibase:timePrecision"--> v45 v8 --"p:P570"--> a8 a8 --"p:statement/value/P570"--> a7 bind31[/"str(?dod2Val)"/] v44 --o bind31 bind31 --as--o v46 bind32[/"if(?dod2Prec <= '10^^xsd:integer','3^^xsd:integer','0^^xsd:integer')"/] v45 --o bind32 bind32 --as--o v47 bind33[/"if(?dod2Prec <= '9^^xsd:integer','3^^xsd:integer','0^^xsd:integer')"/] v45 --o bind33 bind33 --as--o v48 bind34[/"if(?dod2Prec <= '8^^xsd:integer','9^^xsd:integer' - ?dod2Prec,'0^^xsd:integer')"/] v45 --o bind34 bind34 --as--o v49 bind35[/"?dod2insigDayChars + ?dod2insigMonthChars + ?dod2insigYearChars"/] v47 --o bind35 v48 --o bind35 v49 --o bind35 bind35 --as--o v50 bind36[/"substring(?dod2fullStr,'1^^xsd:integer',string-length(?dod2fullStr) - '10^^xsd:integer' - ?dod2insigDateChars)"/] v46 --o bind36 v50 --o bind36 bind36 --as--o v51 bind37[/"concat(?dod2SignStr,substring('0000000000000000','1^^xsd:integer',?dod2insigYearChars))"/] v51 --o bind37 v49 --o bind37 bind37 --as--o v52 end bind38[/"if(?dod1insigDateChars > ?dod2insigDateChars,?dod1insigDateChars,?dod2insigDateChars)"/] v41 --o bind38 v50 --o bind38 bind38 --as--o v53 bind39[/"substring(?dod1fullStr,'1^^xsd:integer',string-length(?dod1fullStr) - '10^^xsd:integer' - ?dodComInsigDateChars)"/] v37 --o bind39 v53 --o bind39 bind39 --as--o v54 bind40[/"substring(?dod2fullStr,'1^^xsd:integer',string-length(?dod2fullStr) - '10^^xsd:integer' - ?dodComInsigDateChars)"/] v46 --o bind40 v53 --o bind40 bind40 --as--o v55 bind41[/"STRDT(concat(?dod1ComSigStr,substring('0000000000000000-01-01T00:00:00Z','23^^xsd:integer' - ?dodComInsigDateChars)),'xsd:dateTime')"/] v54 --o bind41 v53 --o bind41 bind41 --as--o v56 bind42[/"STRDT(concat(?dod2ComSigStr,substring('0000000000000000-01-01T00:00:00Z','23^^xsd:integer' - ?dodComInsigDateChars)),'xsd:dateTime')"/] v55 --o bind42 v53 --o bind42 bind42 --as--o v57 bind43[/"numeric-ceil(numeric-abs(?dod1ComSig - ?dod2ComSig / '3.652425^^xsd:decimal')) / '100^^xsd:integer'"/] v56 --o bind43 v57 --o bind43 bind43 --as--o v58 bind44[/"bound(?dobdiff)"/] v34 --o bind44 bind44 --as--o v59 bind45[/"bound(?doddiff)"/] v58 --o bind45 bind45 --as--o v59 bind46[/"if(bound(?dobdiff),?dobdiff,'0^^xsd:integer')"/] v34 --o bind46 bind46 --as--o v59 bind47[/"if(bound(?doddiff),?doddiff,'0^^xsd:integer')"/] v58 --o bind47 bind47 --as--o v60 bind48[/"http://www.w3.org/2001/XMLSchema#integer(?dobdiffbound) + http://www.w3.org/2001/XMLSchema#integer(?doddiffbound)"/] v59 --o bind48 v59 --o bind48 bind48 --as--o v61 bind49[/"numeric-ceil(?dobdiffSf + ?doddiffSf / ?numOfDateDiffs * '100^^xsd:integer') / '100^^xsd:integer'"/] v59 --o bind49 v60 --o bind49 v61 --o bind49 bind49 --as--o v61 bind50[/"if(?dob1Prec < ?dob2Prec,?dob1Prec,?dob2Prec)"/] v12 --o bind50 v21 --o bind50 bind50 --as--o v61 bind51[/"if(?dod1Prec < ?dod2Prec,?dod1Prec,?dod2Prec)"/] v36 --o bind51 v45 --o bind51 bind51 --as--o v62 bind52[/"bound(?dobComPrec)"/] v61 --o bind52 bind52 --as--o v63 bind53[/"bound(?dodComPrec)"/] v62 --o bind53 bind53 --as--o v64 bind54[/"if(bound(?dobComPrec),?dobComPrec,'0^^xsd:integer')"/] v61 --o bind54 bind54 --as--o v65 bind55[/"if(bound(?dodComPrec),?dodComPrec,'0^^xsd:integer')"/] v62 --o bind55 bind55 --as--o v66 bind56[/"http://www.w3.org/2001/XMLSchema#integer(?dobComPrecBound) + http://www.w3.org/2001/XMLSchema#integer(?dodComPrecBound)"/] v63 --o bind56 v64 --o bind56 bind56 --as--o v67 bind57[/"?dobComPrecSf + ?dodComPrecSf / ?numOfComPrecBound"/] v65 --o bind57 v66 --o bind57 v67 --o bind57 bind57 --as--o v68