{
  "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/2009/03/01/solubility-data-in-bioclipse-4-finding.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/j770h-q642",
      "url": "https://chem-bla-ics.linkedchemistry.info/2009/03/01/solubility-data-in-bioclipse-4-finding.html",
      "title": "Solubility Data in Bioclipse #4: Finding ChEBI IDs (Again, but better)",
      "content_html": "<p>Those who carefully analyzed the second SPARQL query in\n<a href=\"https://chem-bla-ics.linkedchemistry.info/2009/02/27/solubility-data-in-bioclipse-3-finding.html\">Solubility Data in Bioclipse #3: Finding ChEBI IDs <i class=\"fa-solid fa-recycle fa-xs\"></i></a>\nwill have noticed the use of <em>owl:sameAs</em>. Those who did not, here’s the query again:</p>\n\n<div class=\"language-sparql highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"k\">PREFIX</span><span class=\"w\"> </span><span class=\"nn\">owl</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"nn\">&lt;http://www.w3.org/2002/07/owl#&gt;</span><span class=\"w\">\n</span><span class=\"k\">PREFIX</span><span class=\"w\"> </span><span class=\"nn\">ons</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"nn\">&lt;http://spreadsheet.google.com/plwwufp30hfq0udnEmRD1aQ/onto#&gt;</span><span class=\"w\">\n</span><span class=\"k\">PREFIX</span><span class=\"w\"> </span><span class=\"nn\">rdfonm</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"nn\">&lt;http://rdf.openmolecules.net/#&gt;</span><span class=\"w\">\n</span><span class=\"k\">PREFIX</span><span class=\"w\"> </span><span class=\"nn\">dc</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"nn\">&lt;http://purl.org/dc/elements/1.1/&gt;</span><span class=\"w\">\n\n</span><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"k\">DISTINCT</span><span class=\"w\"> </span><span class=\"nv\">?title</span><span class=\"w\"> </span><span class=\"nv\">?chebi</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\">?solvent</span><span class=\"w\"> </span><span class=\"k\">a</span><span class=\"w\"> </span><span class=\"nn\">ons</span><span class=\"o\">:</span><span class=\"ss\">Solvent</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"nv\">?solvent</span><span class=\"w\"> </span><span class=\"nn\">dc</span><span class=\"o\">:</span><span class=\"ss\">title</span><span class=\"w\"> </span><span class=\"nv\">?title</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"nv\">?solvent</span><span class=\"w\"> </span><span class=\"nn\">owl</span><span class=\"o\">:</span><span class=\"ss\">sameAs</span><span class=\"w\"> </span><span class=\"nv\">?same</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"nv\">?same</span><span class=\"w\"> </span><span class=\"nn\">rdfonm</span><span class=\"o\">:</span><span class=\"ss\">chebiid</span><span class=\"w\"> </span><span class=\"nv\">?chebi</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>This syntax is a bit clumsy, considering we said <em>?solvent</em> and <em>?same</em> are the same thing. Fortunately, there are tools that do take\nthis into account. One such tool for <a href=\"http://jena.sourceforge.net/\">Jena</a> (which I use in Bioclipse) is\n<a href=\"http://www.mindswap.org/2003/pellet/\">Pellet</a>. I just commited code for Bioclipse to use Pellet, which simplifies the above query to:</p>\n\n<div class=\"language-sparql highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"k\">PREFIX</span><span class=\"w\"> </span><span class=\"nn\">ons</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"nn\">&lt;http://spreadsheet.google.com/plwwufp30hfq0udnEmRD1aQ/onto#&gt;</span><span class=\"w\">\n</span><span class=\"k\">PREFIX</span><span class=\"w\"> </span><span class=\"nn\">rdfonm</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"nn\">&lt;http://rdf.openmolecules.net/#&gt;</span><span class=\"w\">\n</span><span class=\"k\">PREFIX</span><span class=\"w\"> </span><span class=\"nn\">dc</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"nn\">&lt;http://purl.org/dc/elements/1.1/&gt;</span><span class=\"w\">\n\n</span><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"k\">DISTINCT</span><span class=\"w\"> </span><span class=\"nv\">?title</span><span class=\"w\"> </span><span class=\"nv\">?chebi</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\">?solvent</span><span class=\"w\"> </span><span class=\"k\">a</span><span class=\"w\"> </span><span class=\"nn\">ons</span><span class=\"o\">:</span><span class=\"ss\">Solvent</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"nv\">?solvent</span><span class=\"w\"> </span><span class=\"nn\">dc</span><span class=\"o\">:</span><span class=\"ss\">title</span><span class=\"w\"> </span><span class=\"nv\">?title</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"nv\">?solvent</span><span class=\"w\"> </span><span class=\"nn\">rdfonm</span><span class=\"o\">:</span><span class=\"ss\">chebiid</span><span class=\"w\"> </span><span class=\"nv\">?chebi</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>The key thing here to understand, and I know this is rather abstract, is that the RDF document we build for the ONS Solubility data does\nnot define the relation between Solvent and ChEBI identifiers, but using RDF we know this to be true. Only because the system now understands\nthe <code class=\"language-plaintext highlighter-rouge\">owl:sameAs</code> relation.</p>\n\n<p>Now, Pellet does not stop there, and there are many more statements we can make. Even better, anyone can plug in such relations. Any\ndatabase can define <em>owl:sameAs</em> and other relations, so that we can transparently browse the internet for chemistry in a semantically\nmeaningful way.</p>\n\n<p>I also know that the above is rather technical. For those chemists who have not stopped reading yet, what I would like to hear from you\nis what data you would like to see linked. It does not really matter what, because we can do it all (given\n<a href=\"http://en.wikipedia.org/wiki/Open_data\">Open Data</a>).</p>",
      "summary": "Those who carefully analyzed the second SPARQL query in Solubility Data in Bioclipse #3: Finding ChEBI IDs will have noticed the use of owl:sameAs. Those who did not, here’s the query again:",
      
      "date_published": "2009-03-01T00:00:00+00:00",
      "date_modified": "2025-11-29T00:00:00+00:00",
      "tags": ["sparql","chebi","bioclipse"],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
