{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "chem-bla-ics",
  "description": "Chemblaics (pronounced chem-bla-ics) is the science that uses open science and computers to solve problems in chemistry, biochemistry and related fields.",
  "home_page_url": "https://chem-bla-ics.linkedchemistry.info/",
  "feed_url": "https://chem-bla-ics.linkedchemistry.info/2023/08/12/boiling-points-in-wikidata.json",
  "icon": "https://chem-bla-ics.linkedchemistry.info/assets/images/chem-bla-ics_logo.png",
  "language": "en",
  "authors": [
    {
      "name": "Egon Willighagen",
      "url": "https://orcid.org/0000-0001-7542-0286",
      "_orcid": "0000-0001-7542-0286"
    }
  ],
  "items": [

    {
      "id": "https://doi.org/10.59350/xr6k8-z4480",
      "url": "https://chem-bla-ics.linkedchemistry.info/2023/08/12/boiling-points-in-wikidata.html",
      "title": "Boiling points in Wikidata",
      "content_html": "<p>Some days ago, I started added boiling points to <a href=\"https://wikidata.org/\">Wikidata</a>, referenced from\n<a href=\"https://scholia.toolforge.org/work/Q22236188\">Basic Laboratory and Industrial Chemicals</a> (wikidata:Q22236188),\n<a href=\"https://scholia.toolforge.org/author/Q18609741\">David R. Lide</a>’s\n‘a CRC quick reference handbook’ from 1993 (well, the edition I have). But Wikidata\n<a href=\"https://www.wikidata.org/wiki/User_talk:Egon_Willighagen#Basic_laboratory_and_industrial_chemicals:_a_CRC_quick_reference_handbook_(Q22236188)\">wants</a>\npressure (wikidata:P2077) info at which the boiling point (wikidata:P2102) was measured. Rightfully so. But I had not added those yet,\nbecause it slows me and can be automated with <a href=\"https://quickstatements.toolforge.org/\">QuickStatements</a>.</p>\n\n<p>I just need a few SPARQL queries to list to which statements the qualifiers needs to be added. Basically, all boiling points which has the\nbook as a reference and that do not have the pressure info. First, there are values with ‘unknown value’, which results in blank nodes\n(by the time you read this, they likely are already fixed):</p>\n\n<div class=\"language-sparql highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"nv\">?cmp</span><span class=\"w\"> </span><span class=\"nv\">?bp</span><span class=\"w\"> </span><span class=\"nv\">?pressure</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n  </span><span class=\"nv\">?cmp</span><span class=\"w\"> </span><span class=\"nn\">p</span><span class=\"o\">:</span><span class=\"ss\">P2102</span><span class=\"w\"> </span><span class=\"nv\">?bpStatement</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"nv\">?bpStatement</span><span class=\"w\"> </span><span class=\"nn\">prov</span><span class=\"o\">:</span><span class=\"ss\">wasDerivedFrom</span><span class=\"o\">/</span><span class=\"nn\">pr</span><span class=\"o\">:</span><span class=\"ss\">P248</span><span class=\"w\"> </span><span class=\"nn\">wd</span><span class=\"o\">:</span><span class=\"ss\">Q22236188</span><span class=\"w\"> </span><span class=\"p\">;</span><span class=\"w\">\n    </span><span class=\"nn\">ps</span><span class=\"o\">:</span><span class=\"ss\">P2102</span><span class=\"w\"> </span><span class=\"nv\">?bp</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"nv\">?bpStatement</span><span class=\"w\"> </span><span class=\"nn\">pq</span><span class=\"o\">:</span><span class=\"ss\">P2077</span><span class=\"w\"> </span><span class=\"nv\">?pressure</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"k\">FILTER</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"nb\">contains</span><span class=\"p\">(</span><span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"nv\">?pressure</span><span class=\"p\">),</span><span class=\"w\"> </span><span class=\"s2\">\"http://\"</span><span class=\"p\">))</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>So, to get the list for which I want to write the QuickStatements which does not have any P2077 qualifier yet, I use\n<a href=\"https://query.wikidata.org/#SELECT%20%3Fcmp%20WHERE%20%7B%0A%20%20%3Fcmp%20p%3AP2102%20%3FbpStatement%20.%0A%20%20%3FbpStatement%20prov%3AwasDerivedFrom%2Fpr%3AP248%20wd%3AQ22236188%20%3B%0A%20%20%20%20ps%3AP2102%20%3Fbp%20.%0A%20%20MINUS%20%7B%20%3FbpStatement%20pq%3AP2077%20%3Fpressure%20%7D%0A%7D\">this query</a>:</p>\n\n<div class=\"language-sparql highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"nv\">?cmp</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n  </span><span class=\"nv\">?cmp</span><span class=\"w\"> </span><span class=\"nn\">p</span><span class=\"o\">:</span><span class=\"ss\">P2102</span><span class=\"w\"> </span><span class=\"nv\">?bpStatement</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"nv\">?bpStatement</span><span class=\"w\"> </span><span class=\"nn\">prov</span><span class=\"o\">:</span><span class=\"ss\">wasDerivedFrom</span><span class=\"o\">/</span><span class=\"nn\">pr</span><span class=\"o\">:</span><span class=\"ss\">P248</span><span class=\"w\"> </span><span class=\"nn\">wd</span><span class=\"o\">:</span><span class=\"ss\">Q22236188</span><span class=\"w\"> </span><span class=\"p\">;</span><span class=\"w\">\n    </span><span class=\"nn\">ps</span><span class=\"o\">:</span><span class=\"ss\">P2102</span><span class=\"w\"> </span><span class=\"nv\">?bp</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"k\">MINUS</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\"> </span><span class=\"nv\">?bpStatement</span><span class=\"w\"> </span><span class=\"nn\">pq</span><span class=\"o\">:</span><span class=\"ss\">P2077</span><span class=\"w\"> </span><span class=\"nv\">?pressure</span><span class=\"w\"> </span><span class=\"p\">}</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>At the time of writing, this lists 54 boiling points.</p>\n\n<p>I can the WDQS create CSV-styled QuickStatements with:</p>\n\n<div class=\"language-sparql highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"nb\">SUBSTR</span><span class=\"p\">(</span><span class=\"nb\">STR</span><span class=\"p\">(</span><span class=\"nv\">?cmp</span><span class=\"p\">),</span><span class=\"mi\">32</span><span class=\"p\">)</span><span class=\"w\"> </span><span class=\"k\">AS</span><span class=\"w\"> </span><span class=\"nv\">?qid</span><span class=\"p\">)</span><span class=\"w\"> </span><span class=\"nv\">?P2102</span><span class=\"w\"> </span><span class=\"nv\">?qal2077</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n  </span><span class=\"nv\">?cmp</span><span class=\"w\"> </span><span class=\"nn\">p</span><span class=\"o\">:</span><span class=\"ss\">P2102</span><span class=\"w\"> </span><span class=\"nv\">?bpStatement</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"nv\">?bpStatement</span><span class=\"w\"> </span><span class=\"nn\">prov</span><span class=\"o\">:</span><span class=\"ss\">wasDerivedFrom</span><span class=\"o\">/</span><span class=\"nn\">pr</span><span class=\"o\">:</span><span class=\"ss\">P248</span><span class=\"w\"> </span><span class=\"nn\">wd</span><span class=\"o\">:</span><span class=\"ss\">Q22236188</span><span class=\"w\"> </span><span class=\"p\">;</span><span class=\"w\">\n    </span><span class=\"nn\">ps</span><span class=\"o\">:</span><span class=\"ss\">P2102</span><span class=\"w\"> </span><span class=\"nv\">?P2102</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"k\">MINUS</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\"> </span><span class=\"nv\">?bpStatement</span><span class=\"w\"> </span><span class=\"nn\">pq</span><span class=\"o\">:</span><span class=\"ss\">P2077</span><span class=\"w\"> </span><span class=\"nv\">?pressure</span><span class=\"w\"> </span><span class=\"p\">}</span><span class=\"w\">\n  </span><span class=\"k\">BIND</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"s2\">\"101.325U21064807\"</span><span class=\"w\"> </span><span class=\"k\">AS</span><span class=\"w\"> </span><span class=\"nv\">?qal2077</span><span class=\"p\">)</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>Here, the SPARQL variables double as QuickStatement instructions. Finally, note to use of “U21064807” which is the Wikidata item for\nkilopascal (wikidata:Q21064807).</p>\n\n<p>I also need to “add” the boiling point again, to make sure QuickStatements knows which statement to add the qualifier to. I think this\ncan be done better, but not sure how to target statements directly. This is not fool proof: I noted that this approach ignores the\nsituation where there are two statements with the (exact) same boiling point, but different error margins. But that I will monitor\nand where needed correct manually.</p>",
      "summary": "Some days ago, I started added boiling points to Wikidata, referenced from Basic Laboratory and Industrial Chemicals (wikidata:Q22236188), David R. Lide’s ‘a CRC quick reference handbook’ from 1993 (well, the edition I have). But Wikidata wants pressure (wikidata:P2077) info at which the boiling point (wikidata:P2102) was measured. Rightfully so. But I had not added those yet, because it slows me and can be automated with QuickStatements.",
      
      "date_published": "2023-08-12T00:00:00+00:00",
      "date_modified": "2023-08-12T00:00:00+00:00",
      "tags": ["rdf","wikidata","chemistry"],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
