<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="https://chem-bla-ics.linkedchemistry.info/feed/by_tag/sparql.xml" rel="self" type="application/atom+xml" /><link href="https://chem-bla-ics.linkedchemistry.info/" rel="alternate" type="text/html" /><updated>2026-10-07T12:46:55+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/feed/by_tag/sparql.xml</id><title type="html">chem-bla-ics</title><subtitle>Chemblaics (pronounced chem-bla-ics) is the science that uses open science and computers to solve problems in chemistry, biochemistry and related fields.</subtitle><author><name>Egon Willighagen</name></author><entry><title type="html">SWAT4HCLS 2026 Amsterdam this week</title><link href="https://chem-bla-ics.linkedchemistry.info/2026/03/22/swat4hcls-2026-amsterdam-this-week.html" rel="alternate" type="text/html" title="SWAT4HCLS 2026 Amsterdam this week" /><published>2026-03-22T00:00:00+00:00</published><updated>2026-03-22T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2026/03/22/swat4hcls-2026-amsterdam-this-week</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2026/03/22/swat4hcls-2026-amsterdam-this-week.html"><![CDATA[<p>Tomorrow, <a href="https://www.swat4ls.org/workshops/amsterdam2026/">SWAT4HCLS 2026</a> will start, again in Amsterdam.
The first SWAT4LS I attended <a href="https://chem-bla-ics.linkedchemistry.info/2009/11/21/swat4ls-linking-open-drug-data-to.html">was also in Amsterdam</a>, and the second meeting in Amsterdam I was <a href="https://chem-bla-ics.linkedchemistry.info/2016/12/18/my-swat4ls-poster-about-enanomapper.html">also there</a>. And I was in <a href="https://www.swat4ls.org/workshops/cambridge2015/index.php">Cambridge</a> (see
<a href="https://chem-bla-ics.blogspot.com/2015/12/swat4ls-in-cambridge.html">this post</a>),
<a href="https://www.swat4ls.org/workshops/antwerp2018/">Antwerp</a>  (no post), and at least to one of the two
<a href="https://www.swat4ls.org/workshops/leiden2024/">Leiden</a> meetings (also no posts, it seems).</p>

<p>I am looking forward to meet old friends, new friends (some whom I never met in person), and
recent collaborators (that I never met in person).
For those who will not be in Amsterdam, you can follow the meeting on social media with
the <a href="https://hashtags-hub.toolforge.org/swat4hcls">hashtag #swat4hcls</a>. And there is also
<a href="https://fediwall.biohackrxiv.org/">this BioHackrXiv Fediwall</a>, for those in the
<a href="https://en.wikipedia.org/wiki/Fediverse">fediverse</a>.</p>

<h3 id="scholia-demo">Scholia demo</h3>

<p>I will give a demo to update people on the work in the <a href="https://github.com/wdscholia/scholia">Scholia</a> project with
Daniel Mietchen, Peter Patel-Schneider, Konrad Linden, Johannes Kalmbach,
Lars Willighagen, Wolfgang Fahl, and Hannah Bast (also keynote in Amsterdam)
to <a href="https://chem-bla-ics.linkedchemistry.info/2026/02/28/rescuing-scholia-3-we-did-it.html">update the SPARQL queries</a>
we use to visualize data in <a href="https://www.wikidata.org/">Wikidata</a> to SPARQL 1.1 so that it can run on
<a href="https://qlever.dev/">Qlever</a>.
The abstract can be <a href="https://commons.wikimedia.org/wiki/File:Scholia_2026_Compliance_with_SPARQL_1.1.pdf">found in Wikimedia Commons</a>.</p>

<p>This was the outcome of many years figuring how to ensure Scholia could remain working. The
<a href="https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2026-02-17/Technology_report">Wikidata RDF graph split</a>
has given us many headaches, so many that just before christmas it became it could
be possible to survive the split, I was so happy, I realize I want to share this news. So, we teamed
up and wrote this demonstration contribution abstract. Thanks to everyone who made this happen!
Just to be clear, we are not done yet. The system is not running outside the Wikimedia Foundation
platforms.</p>

<p>One of the reviewer comments requested <a href="https://qlever.scholia.wiki/event/Q138033585">a Scholia page for the meeting</a>.
It has not been updated for the accepted speakers, but you can look at <a href="https://qlever.scholia.wiki/event-series/Q56846035">pages for past meetings</a>
to get an idea what you will find.</p>

<h3 id="swat4hcls-biohackathon-2026">SWAT4HCLS Biohackathon 2026</h3>

<p>There will also be <a href="https://www.swat4ls.org/workshops/amsterdam2026/swat4hcls-biohackathon-2026/">a biohackathon again</a>,
of course, with the <a href="https://index.biohackrxiv.org/tag/SWAT4HCLS26">option for BioHackRxiv reports</a>.
There are already <a href="https://www.swat4ls.org/workshops/amsterdam2026/swat4hcls-biohackathon-2026/">several pitches</a>,
including one that I submitted about Scholia.</p>]]></content><author><name>Egon Willighagen</name></author><category term="rdf" /><category term="sparql" /><category term="swat4ls" /><category term="wikidata" /><summary type="html"><![CDATA[Tomorrow, SWAT4HCLS 2026 will start, again in Amsterdam. The first SWAT4LS I attended was also in Amsterdam, and the second meeting in Amsterdam I was also there. And I was in Cambridge (see this post), Antwerp (no post), and at least to one of the two Leiden meetings (also no posts, it seems).]]></summary></entry><entry><title type="html">Rescuing Scholia #3: We did it!</title><link href="https://chem-bla-ics.linkedchemistry.info/2026/02/28/rescuing-scholia-3-we-did-it.html" rel="alternate" type="text/html" title="Rescuing Scholia #3: We did it!" /><published>2026-02-28T00:00:00+00:00</published><updated>2026-02-28T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2026/02/28/rescuing-scholia-3-we-did-it</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2026/02/28/rescuing-scholia-3-we-did-it.html"><![CDATA[<p>It was not a set up, when I openly <a href="https://chem-bla-ics.linkedchemistry.info/2025/12/08/rescuing-scholia.html">wondered if we would be able to rescue Scholia in time</a>.
I honestly did not know. Three weeks and some serious hacking by an international team later <a href="https://chem-bla-ics.linkedchemistry.info/2025/12/31/rescuing-scholia-2-getting-close.html">I was more optimistic</a>.
Actually, just before christmas, we started writing a <a href="https://www.swat4ls.org/">SWAT4HCLS 2026</a> demonstration abstract. This was accepted and
you can read the <em>Scholia 2026: Compliance with SPARQL 1.1</em> preprint <a href="https://github.com/WolfgangFahl/ScholiaGraphSplitPaper">here</a> and
<a href="https://commons.wikimedia.org/wiki/File:Scholia_2026_Compliance_with_SPARQL_1.1.pdf">here</a>.
This paper describes the work that had to be done, and I am deeply grateful to everyone who contributed with smaller or
bigger contributions (Daniel, Peter, Konrad, Johannes, Lars, Wolfgang, Hannah).
I am merely first author for the demo, and just another contributor to the long series of patches, in a
<a href="https://github.com/WDscholia/scholia/pull/2715">branch started by Prof. Hannah Bast</a>.</p>

<p>The work actually started long before that, with the <em>Robustifying Scholia</em> grant (see doi:<a href="https://doi.org/10.3897/rio.5.e35820">10.3897/rio.5.e35820</a>),
where we explored alternatives. The Wikidata graph (RDF) split has been long coming, and I can recommend
<a href="https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2026-02-17/Technology_report">this recent The Signpost article</a>
by <a href="https://disobey.net/@Bluerasberry">Lane</a> for a good overview. So, this would not have been possible with
<a href="https://github.com/WDscholia/scholia/graphs/contributors">the many people who contributed over the years</a>.
But this last sprint really made a difference.</p>

<p>The developments of the QLever software in the past year are very important, and the SPARQL endpoint we run now is live updated,
just like we knew from the Wikidata Query Service (WDQS). Recent improvement allowed us to replace all the Wikidata and Blazegraph
specific aspects of the SPARQL queries, and good discussions let to pragmatic approaches to keep localization features
Scholia had for displaying query results from Wikidata.</p>

<p>The work is not completed, however. All queries are SPARQL 1.1 now, but some can still be further optimized, and some still
need some fixing. For example, I still spot some QIDs here and there, instead of the localized labels that should be shown instead.
Also, we are actively looking in getting everything running again on WMF servers (see <a href="https://github.com/WDscholia/scholia/issues/2766">this overview issue</a>),
so that <em>scholia.toolforge.org</em> works again.</p>

<p>For now, however, please use <a href="https://qlever.scholia.wiki/">qlever.scholia.wiki</a>.</p>]]></content><author><name>Egon Willighagen</name></author><category term="scholia" /><category term="sparql" /><category term="swat4ls" /><category term="doi:10.3897/RIO.5.E35820" /><summary type="html"><![CDATA[It was not a set up, when I openly wondered if we would be able to rescue Scholia in time. I honestly did not know. Three weeks and some serious hacking by an international team later I was more optimistic. Actually, just before christmas, we started writing a SWAT4HCLS 2026 demonstration abstract. This was accepted and you can read the Scholia 2026: Compliance with SPARQL 1.1 preprint here and here. This paper describes the work that had to be done, and I am deeply grateful to everyone who contributed with smaller or bigger contributions (Daniel, Peter, Konrad, Johannes, Lars, Wolfgang, Hannah). I am merely first author for the demo, and just another contributor to the long series of patches, in a branch started by Prof. Hannah Bast.]]></summary></entry><entry><title type="html">Where do the WikiPathways come from?</title><link href="https://chem-bla-ics.linkedchemistry.info/2026/02/22/where-do-the-wikipathways-come-from.html" rel="alternate" type="text/html" title="Where do the WikiPathways come from?" /><published>2026-02-22T00:00:00+00:00</published><updated>2026-02-22T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2026/02/22/where-do-the-wikipathways-come-from</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2026/02/22/where-do-the-wikipathways-come-from.html"><![CDATA[<p><a href="https://en.wikipedia.org/wiki/WikiPathways">WikiPathways</a> was <a href="https://qlever.scholia.wiki/topic/Q7999828#earliest-published-works">founded in 2008</a>,
in the year I left Wageningen (and we Nijmegen) and moved to Uppsala, Sweden. When we dediced to move back to The Netherlands in 2012, I got to opportunity
to join the Department of Bioinformatics (BiGCaT) and work on Open PHACTS. I had visited the group in March 2011 because I had a COST action
workshop near Maastricht (about nanoQSAR) and the bioinformatics group did <a href="https://wikipathways.org/">WikiPathways</a>.</p>

<p>When I joined, there were already hundreds of pathways, originating from various collaborations (see below).
Around the winter break, the question came up who are the people who have drawn all these pathways. And on the new website
this is not actually that easy to see. You can <a href="https://www.wikipathways.org/browse/table.html">browse all pathways</a>, or look up
<a href="https://www.wikipathways.org/browse/authors.html">author profiles</a>, but not all authors have done the same amount of work.
Moreover, at various points of time, batches of pathways from those collaborators were added. Often, these were added
by the <code class="language-plaintext highlighter-rouge">MaintBot</code> account, which is routinely hidden, and then the author who shows up as first author, is not even
the original author. And then we still have a lot of homology-converted pathways. These are pathways translated to
some species from a model species. You can find them in <a href="https://github.com/wikipathways/wikipathways-homology">this repository</a>.</p>

<p>But nowadays I do a lot in the WikiPathways project, among other things generate the RDF and maintain the code that does so.
And I realized that we have author information in the RDF too (created by <a href="https://orcid.org/0000-0001-5706-2163">Alex Pico</a>.
So, the idea came up to see who the “first authors” are of the WikiPathways (mind the <em>MaintBot</em> issue), and what we know
about them. Many already had their ORCID profiles linked from their profile pages, making it easy to look up their
expertises.</p>

<p>Now, that was in January. But it turned out that the author information in the RDF worked fine in the <code class="language-plaintext highlighter-rouge">.ttl</code> file
of a single pathway, but that the <em>series ordinal</em> (e.g. 1 for being first author) was bound to the author, and
a SPARQL query would not be able to figure out on which pathways someone was first author. I fixed this somewhere
in January, so in the <a href="https://github.com/wikipathways/wikipathways-help/discussions/221">February 10 release</a> the
improved data model was available.</p>

<p>Allow me to show what is now possible, with a few SPARQL queries. First, list the authors of a pathway, use
<a href="https://edu.nl/q9txc">this template</a> for <code class="language-plaintext highlighter-rouge">WP10</code>:</p>

<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">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">
</span><span class="k">PREFIX</span><span class="w"> </span><span class="nn">foaf</span><span class="o">:</span><span class="w">  </span><span class="nn">&lt;http://xmlns.com/foaf/0.1/&gt;</span><span class="w">
</span><span class="k">PREFIX</span><span class="w"> </span><span class="nn">wpq</span><span class="o">:</span><span class="w">   </span><span class="nn">&lt;http://www.wikidata.org/prop/qualifier/&gt;</span><span class="w">
</span><span class="k">PREFIX</span><span class="w"> </span><span class="nn">pav</span><span class="o">:</span><span class="w">   </span><span class="nn">&lt;http://purl.org/pav/&gt;</span><span class="w">

</span><span class="k">SELECT</span><span class="w"> </span><span class="nv">?pathway</span><span class="w"> </span><span class="nv">?version</span><span class="w"> </span><span class="nv">?ordinal</span><span class="w"> </span><span class="nv">?author_</span><span class="w"> </span><span class="nv">?name</span><span class="w"> </span><span class="nv">?orcid</span><span class="w"> </span><span class="nv">?page</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="p">{</span><span class="w">
  </span><span class="k">VALUES</span><span class="w"> </span><span class="nv">?pathway</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nn">&lt;https://identifiers.org/wikipathways/WP10&gt;</span><span class="w"> </span><span class="p">}</span><span class="w">
  </span><span class="nv">?author_</span><span class="w"> </span><span class="k">a</span><span class="w"> </span><span class="nn">foaf</span><span class="o">:</span><span class="ss">Person</span><span class="w"> </span><span class="p">;</span><span class="w">
    </span><span class="nn">wp</span><span class="o">:</span><span class="ss">hasAuthorship</span><span class="w"> </span><span class="nv">?authorship</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="nv">?authorship</span><span class="w"> </span><span class="err">^</span><span class="nn">wp</span><span class="o">:</span><span class="ss">hasAuthorship</span><span class="w"> </span><span class="nv">?pathway</span><span class="w"> </span><span class="p">;</span><span class="w">
    </span><span class="nn">wpq</span><span class="o">:</span><span class="ss">series_ordinal</span><span class="w"> </span><span class="nv">?ordinal</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="nv">?pathway</span><span class="w"> </span><span class="nn">pav</span><span class="o">:</span><span class="ss">hasVersion</span><span class="w"> </span><span class="nv">?pathway_</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="nv">?pathway_</span><span class="w"> </span><span class="k">a</span><span class="w"> </span><span class="nn">wp</span><span class="o">:</span><span class="ss">Pathway</span><span class="w"> </span><span class="p">;</span><span class="w"> </span><span class="nn">wp</span><span class="o">:</span><span class="ss">isAbout</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nn">gpml</span><span class="o">:</span><span class="ss">version</span><span class="w"> </span><span class="nv">?version</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="k">OPTIONAL</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nv">?author_</span><span class="w"> </span><span class="nn">foaf</span><span class="o">:</span><span class="ss">homepage</span><span class="w"> </span><span class="nv">?page</span><span class="w"> </span><span class="p">}</span><span class="w">
  </span><span class="k">OPTIONAL</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nv">?author_</span><span class="w"> </span><span class="nn">foaf</span><span class="o">:</span><span class="ss">name</span><span class="w"> </span><span class="nv">?name</span><span class="w"> </span><span class="p">}</span><span class="w">
  </span><span class="k">OPTIONAL</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nv">?author_</span><span class="w"> </span><span class="nn">dc</span><span class="o">:</span><span class="ss">identifier</span><span class="w"> </span><span class="nv">?orcid</span><span class="w"> </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">ASC</span><span class="p">(</span><span class="nv">?pathway</span><span class="p">)</span><span class="w"> </span><span class="k">ASC</span><span class="p">(</span><span class="nv">?ordinal</span><span class="p">)</span><span class="w">
</span></code></pre></div></div>

<p>We can see who the 8 people are who contributed to this pathway (we cannot actually see here what they contributed), and many
authors are member of the WikiPathways review team who focus more on technical quality than the biology. The first author,
however, often is the person who contributed most of the biological knowledge in the pathway, in this case
<a href="https://www.wikipathways.org/authors/A.Pandey">Akhilesh Pandey</a> from the NetSlim collaboration
(see doi:<a href="https://doi.org/10.1093/database/bar032">10.1093/database/bar032</a>):</p>

<p><img src="/assets/images/wikipathways_authorList.png" alt="" /></p>

<h2 id="collaborations">Collaborations</h2>

<p>Over time, multiple collaborations have taken place, like the one with NetSlim from the above query. In these collaborations,
the knowledge may not be digitized in WikiPathways as GPML by the biological experts. That encoding regularly is done
by others, but with those experts ensuring the quality. The following collaborations are examples, and
<a href="https://www.wikipathways.org/browse/communities.html">a fuller list is found online</a>:</p>

<ul>
  <li><a href="https://www.wikipathways.org/communities/wormbase_approved.html">WormBase</a> (doi:<a href="https://doi.org/10.1093/nar/gkt1063">10.1093/nar/gkt1063</a>)</li>
  <li><a href="https://www.wikipathways.org/communities/lipids.html">LIPID MAPS</a> (doi:<a href="https://doi.org/10.1093/nar/gkad896">10.1093/nar/gkad896</a>)</li>
  <li><a href="https://www.wikipathways.org/communities/imd.html">Inherited Metabolic Disorders</a> (doi:<a href="https://doi.org/10.1007/978-3-030-67727-5_73">10.1007/978-3-030-67727-5_73</a>)</li>
  <li><a href="https://www.wikipathways.org/communities/micronutrients.html">Micronutrients</a> (doi:<a href="https://doi.org/10.1007/s12263-010-0192-8">10.1007/s12263-010-0192-8</a>)</li>
</ul>

<p>We have collaborated with Reactome on various occassions (e.g. see doi:<a href="https://doi.org/10.1371/journal.pcbi.1004941">10.1371/journal.pcbi.1004941</a> and
doi:<a href="https://doi.org/10.1007/s12263-010-0192-8">10.1007/s12263-010-0192-8</a>), around plants (e.g. see doi:<a href="https://doi.org/10.1186/1939-8433-6-14">10.1186/1939-8433-6-14</a>),
around rare diseases in projects like <a href="https://www.ejprarediseases.org/">EJP-RD</a> and <a href="https://erdera.org/">ERDERA</a>, and around SARS-CoV-2.
For that, see these communities:</p>

<ul>
  <li><a href="https://www.wikipathways.org/communities/reactome.html">Reactome</a></li>
  <li><a href="https://www.wikipathways.org/communities/plants.html">Plants</a> (see also <a href="https://doi.org/10.37044/osf.io/m37f2_v1">this DBCLS BioHackathon 2025 paper</a>)</li>
  <li><a href="https://www.wikipathways.org/communities/rarediseases.html">Rare Diseases</a></li>
  <li><a href="https://www.wikipathways.org/communities/covid19.html">COVID-19</a></li>
</ul>

<p>And then there are pathways in WikiPathways supported by a full paper, but I will leave that for a later moment.</p>

<h2 id="author-statistics">Author statistics</h2>

<p>Back to the authors, because the new RDF model allows a few more nice queries. For example, we can check the number
of pathways with a certain number of authors, and then we find with the following query that there are two pathways
with up to 18 authors (<a href="https://edu.nl/mhjbw">try here</a>):</p>

<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">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">
</span><span class="k">PREFIX</span><span class="w"> </span><span class="nn">wpq</span><span class="o">:</span><span class="w">   </span><span class="nn">&lt;http://www.wikidata.org/prop/qualifier/&gt;</span><span class="w">

</span><span class="k">SELECT</span><span class="w"> </span><span class="nv">?atLeast</span><span class="w"> </span><span class="p">(</span><span class="nb">COUNT</span><span class="p">(</span><span class="k">DISTINCT</span><span class="w"> </span><span class="nv">?pathway</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nv">?count</span><span class="p">)</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="p">{</span><span class="w">
  </span><span class="nv">?author_</span><span class="w"> </span><span class="k">a</span><span class="w"> </span><span class="nn">foaf</span><span class="o">:</span><span class="ss">Person</span><span class="w"> </span><span class="p">;</span><span class="w">
    </span><span class="nn">wp</span><span class="o">:</span><span class="ss">hasAuthorship</span><span class="w"> </span><span class="nv">?authorship</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="nv">?authorship</span><span class="w"> </span><span class="err">^</span><span class="nn">wp</span><span class="o">:</span><span class="ss">hasAuthorship</span><span class="w"> </span><span class="nv">?pathway</span><span class="w"> </span><span class="p">;</span><span class="w">
    </span><span class="nn">wpq</span><span class="o">:</span><span class="ss">series_ordinal</span><span class="w"> </span><span class="nv">?atLeast</span><span class="w"> </span><span class="p">.</span><span class="w">
</span><span class="p">}</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="nv">?atLeast</span><span class="w">
  </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">ASC</span><span class="p">(</span><span class="nn">xsd</span><span class="o">:</span><span class="ss">integer</span><span class="p">(</span><span class="nv">?atLeast</span><span class="p">))</span><span class="w">
</span></code></pre></div></div>

<p>We can also look at the <a href="https://edu.nl/fkwy9">list of authors</a>, sorted by the number of pathways they are noted as first author on.
allong with their profile page on ORCID number:</p>

<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">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">
</span><span class="k">PREFIX</span><span class="w"> </span><span class="nn">foaf</span><span class="o">:</span><span class="w">  </span><span class="nn">&lt;http://xmlns.com/foaf/0.1/&gt;</span><span class="w">
</span><span class="k">PREFIX</span><span class="w"> </span><span class="nn">wpq</span><span class="o">:</span><span class="w">   </span><span class="nn">&lt;http://www.wikidata.org/prop/qualifier/&gt;</span><span class="w">
</span><span class="k">PREFIX</span><span class="w"> </span><span class="nn">pav</span><span class="o">:</span><span class="w">   </span><span class="nn">&lt;http://purl.org/pav/&gt;</span><span class="w">

</span><span class="k">SELECT</span><span class="w"> </span><span class="p">(</span><span class="nb">COUNT</span><span class="p">(</span><span class="k">DISTINCT</span><span class="w"> </span><span class="nv">?pathway</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nv">?count</span><span class="p">)</span><span class="w"> </span><span class="nv">?name</span><span class="w"> </span><span class="nv">?orcid</span><span class="w"> </span><span class="nv">?page</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="p">{</span><span class="w">
  </span><span class="k">VALUES</span><span class="w"> </span><span class="nv">?ordinal</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s2">"1"</span><span class="w"> </span><span class="p">}</span><span class="w">
  </span><span class="nv">?author_</span><span class="w"> </span><span class="k">a</span><span class="w"> </span><span class="nn">foaf</span><span class="o">:</span><span class="ss">Person</span><span class="w"> </span><span class="p">;</span><span class="w">
    </span><span class="nn">wp</span><span class="o">:</span><span class="ss">hasAuthorship</span><span class="w"> </span><span class="nv">?authorship</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="nv">?authorship</span><span class="w"> </span><span class="err">^</span><span class="nn">wp</span><span class="o">:</span><span class="ss">hasAuthorship</span><span class="w"> </span><span class="nv">?pathway</span><span class="w"> </span><span class="p">;</span><span class="w">
    </span><span class="nn">wpq</span><span class="o">:</span><span class="ss">series_ordinal</span><span class="w"> </span><span class="nv">?ordinal</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="nv">?pathway</span><span class="w"> </span><span class="nn">pav</span><span class="o">:</span><span class="ss">hasVersion</span><span class="w"> </span><span class="nv">?pathway_</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="nv">?pathway_</span><span class="w"> </span><span class="k">a</span><span class="w"> </span><span class="nn">wp</span><span class="o">:</span><span class="ss">Pathway</span><span class="w"> </span><span class="p">;</span><span class="w"> </span><span class="nn">dcterms</span><span class="o">:</span><span class="ss">identifier</span><span class="w"> </span><span class="nv">?version</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="k">OPTIONAL</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nv">?author_</span><span class="w"> </span><span class="nn">foaf</span><span class="o">:</span><span class="ss">homepage</span><span class="w"> </span><span class="nv">?page</span><span class="w"> </span><span class="p">}</span><span class="w">
  </span><span class="k">OPTIONAL</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nv">?author_</span><span class="w"> </span><span class="nn">foaf</span><span class="o">:</span><span class="ss">name</span><span class="w"> </span><span class="nv">?name</span><span class="w"> </span><span class="p">}</span><span class="w">
  </span><span class="k">OPTIONAL</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nv">?author_</span><span class="w"> </span><span class="nn">dc</span><span class="o">:</span><span class="ss">identifier</span><span class="w"> </span><span class="nv">?orcid</span><span class="w"> </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="nv">?ordinal</span><span class="w"> </span><span class="nv">?name</span><span class="w"> </span><span class="nv">?orcid</span><span class="w"> </span><span class="nv">?page</span><span class="w">
  </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">DESC</span><span class="p">(</span><span class="nv">?count</span><span class="p">)</span><span class="w">
</span></code></pre></div></div>

<p>Is this the full story? No, of course not. There are so much details yet uncovered, but it gives a bit more
insight of where the biological knowledge in WikiPathways is coming from.</p>

<p>Want more peer review of the content? Then why not help setup a new community? Just ping me or
<a href="https://www.wikipathways.org/authors/Mkutmon">Martina</a>.</p>]]></content><author><name>Egon Willighagen</name></author><category term="wikipathways" /><category term="rdf" /><category term="justdoi:10.1093/database/bar032" /><category term="sparql" /><category term="justdoi:10.1093/nar/gkt1063" /><category term="justdoi:10.1093/nar/gkad896" /><category term="doi:10.1007/978-3-030-67727-5_73" /><category term="justdoi:10.1007/s12263-010-0192-8" /><category term="justdoi:10.1371/journal.pcbi.1004941" /><category term="justdoi:10.1007/s12263-010-0192-8" /><category term="justdoi:10.37044/osf.io/m37f2_v1" /><summary type="html"><![CDATA[WikiPathways was founded in 2008, in the year I left Wageningen (and we Nijmegen) and moved to Uppsala, Sweden. When we dediced to move back to The Netherlands in 2012, I got to opportunity to join the Department of Bioinformatics (BiGCaT) and work on Open PHACTS. I had visited the group in March 2011 because I had a COST action workshop near Maastricht (about nanoQSAR) and the bioinformatics group did WikiPathways.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://chem-bla-ics.linkedchemistry.info/assets/images/wikipathways_authorList.png" /><media:content medium="image" url="https://chem-bla-ics.linkedchemistry.info/assets/images/wikipathways_authorList.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Rescuing Scholia #2: getting closer</title><link href="https://chem-bla-ics.linkedchemistry.info/2025/12/31/rescuing-scholia-2-getting-close.html" rel="alternate" type="text/html" title="Rescuing Scholia #2: getting closer" /><published>2025-12-31T00:00:00+00:00</published><updated>2025-12-31T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2025/12/31/rescuing-scholia-2-getting-close</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2025/12/31/rescuing-scholia-2-getting-close.html"><![CDATA[<p>Three weeks ago, I wrote a the post <a href="https://chem-bla-ics.linkedchemistry.info/2025/12/08/rescuing-scholia.html">Rescuing Scholia: will we make it in time?</a>,
where I sketched a future without <a href="https://scholia.toolforge.org/">Scholia</a>. Scholia, started
<a href="https://chem-bla-ics.linkedchemistry.info/2023/01/27/scholia-timeline.html">almost 10 years ago</a>
and I think it is worth keeping around longer.</p>

<p>Fortunately, it looks like we will have a working replacement in time before the
<a href="https://www.mediawiki.org/wiki/Wikidata_Query_Service">WDQS</a> instance with all the
<a href="https://wikidata.org/">Wikidata</a> triples in a single SPARQL endpoint goes down,
likely in a week or so (even tho we may be behind <a href="https://openalex.org/works?page=1&amp;filter=cites:w2767995756">the citation peak</a>).</p>

<p>The work of the past year helped, for exampe, making it easier to configure Scholia for a different
endpoint and the asynchronous loading of panels (reducing the stress on the SPARQL end point).
Already in September, Prof. <a href="https://github.com/hannahbast">Hannah Bast</a> started
<a href="https://github.com/WDscholia/scholia/pull/2715">a branch</a> for the transition and various
hackathons this autumn, and the work by <a href="https://github.com/KonradLinden">Konrad Linded</a>
who explored and addressed some of the hurdles to take. The tips and suggestions from
Hannah and <a href="https://github.com/RobinTF">RobinTF</a> really made a difference. And also a huge thanks
to <a href="https://orcid.org/0000-0001-9488-1870">Daniel</a> who kept relentlessly pushing this forward.</p>

<p>When I posted my <a href="https://chem-bla-ics.linkedchemistry.info/2025/12/08/rescuing-scholia.html">will we make it</a> post,
there was a demo instance and a spreadsheet showing the state of each query. The instance
showed no human-readable labels. This was because the WDQS <code class="language-plaintext highlighter-rouge">wikibase:label</code> service 
was used a lot, and there is no replacement for that. Getting labels for all relevant
items is possible, but makes the queries a lot heavier and made even more queries
run out of memory. Various solutions were <a href="https://github.com/ad-freiburg/scholia/issues/17">discussed</a>,
Finn indicated he <a href="https://github.com/ad-freiburg/scholia/issues/17#issuecomment-3605952951">preferred a macro solution</a>,
which <a href="https://github.com/ad-freiburg/scholia/pull/20/changes">Lars implemented</a>, and
saw some tweaks after that. Then followed a long series of patches by particularly
<a href="https://github.com/pfps">Peter</a> to update all the SPARQL queries to have them use
the new labels macro. But plenty of other things were fixed or newly implemented,
such as <a href="https://github.com/WolfgangFahl">Wolfgang</a>’s <a href="https://qlever.scholia.wiki/backend">/backend</a>
page.</p>

<p>So, with one week to go, we need your help: as the weekly
<a href="https://www.wikidata.org/wiki/Wikidata:Status_updates/2025_12_29">Wikidata Status Update</a>
already indicated:</p>

<blockquote>
  <p>this month’s Scholia hackathon has moved Scholia closer to its planned switch to a
QLever backend. Beta testers can assist by exploring the
<a href="https://qlever.scholia.wiki/">interim QLever-backed Scholia instance</a>
and <a href="https://github.com/WDscholia/scholia/issues">reporting any issues</a>.</p>
</blockquote>

<p>And thanks to <a href="https://github.com/Adafede">Adriano</a> and others who already have!</p>

<p>Now, we are not done yet. The real instance at <a href="https://scholia.toolforge.org/">scholia.toolforge.org</a>
has seen ridiculous abuse by scrapers (and the main instance is regularly unusable, to be honest),
and we have no idea the new setup is powerful enough. And we need to point to the new servers anyway.
So, plenty of work is left to be done in the next few days.</p>

<p>But we are getting close. So, please give <a href="https://qlever.scholia.wiki/">qlever.scholia.wiki</a>
a go, and let us know your observations. As <a href="https://en.wikipedia.org/wiki/Linus%27s_law">Linus’s law</a> writes:</p>

<blockquote>
  <p>Given enough eyeballs, all bugs are shallow.</p>
</blockquote>]]></content><author><name>Egon Willighagen</name></author><category term="wikidata" /><category term="scholia" /><category term="sparql" /><category term="rdf" /><summary type="html"><![CDATA[Three weeks ago, I wrote a the post Rescuing Scholia: will we make it in time?, where I sketched a future without Scholia. Scholia, started almost 10 years ago and I think it is worth keeping around longer.]]></summary></entry><entry><title type="html">Rescuing Scholia: will we make it in time?</title><link href="https://chem-bla-ics.linkedchemistry.info/2025/12/08/rescuing-scholia.html" rel="alternate" type="text/html" title="Rescuing Scholia: will we make it in time?" /><published>2025-12-08T00:00:00+00:00</published><updated>2025-12-08T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2025/12/08/rescuing-scholia</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2025/12/08/rescuing-scholia.html"><![CDATA[<p>What <a href="https://chem-bla-ics.linkedchemistry.info/2023/01/27/scholia-timeline.html">started out in 2016 on Twitter</a> became a
<a href="https://meta.wikimedia.org/wiki/Coolest_Tool_Award/Full_history">(small) award winning</a>
<a href="https://chem-bla-ics.linkedchemistry.info/tag/scholia">decade long collaborative project</a>.
Unfortunately, the future is not clear. We are at odds if it will survice the growth of Wikidata
and in particularly the <a href="https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/WDQS_graph_split">SPARQL graph split</a>.
To be clear, the choice for Blazegraph initially worked great, but after it was bought by a big
company, developed halted. Very unfortunate for Wikidata. Unlike earlier, we no longer have funding, and rewriting Scholia
at this scale takes a good bit of effort. We already
<a href="https://chem-bla-ics.linkedchemistry.info/2025/04/20/the-april-2025-scholia-hackathon.html">held a few hackathons</a>.</p>

<p>So far, we have been able to continue to use a <em>legacy</em> SPARQL endpoint with all the data, but in exactly one month
that endpoint will be sunset. And we are <strong>not</strong> ready.</p>

<h2 id="rescuing-scholia">Rescuing Scholia</h2>
<p>Daniel and Lane have been leading an effort to rescue Scholia. The hackathons were part of this effort. It seems
that <a href="https://en.wikipedia.org/wiki/QLever">QLever</a> is the only route left. Earlier efforts to rewrite the more
than 350 Scholia SPARQL queries to support the graph split have basically failed. The complexity is far too high.
QLever, however, provides the full graph and since recently full SPARQL 1.1 support. That is also not enough to
reproduce the full Scholia functionality, but it seems to get us far.
Importantly, the data may not update as frequently as the <a href="https://www.mediawiki.org/wiki/Wikidata_Query_Service">WDQS</a>,
and that is another complexity to take into account. Particularly, all the 404 pages.</p>

<p>So, in the next weeks, we have to complete rewriting all those queries as queries that QLever can handle. A team
of people have done great work already, <a href="https://github.com/ad-freiburg/scholia/issues?q=is%3Aissue%20author%3AKonradLinden">including Konrad</a>.</p>

<p>I hope we make it in time.</p>]]></content><author><name>Egon Willighagen</name></author><category term="scholia" /><category term="wikidata" /><category term="rdf" /><category term="sparql" /><summary type="html"><![CDATA[What started out in 2016 on Twitter became a (small) award winning decade long collaborative project. Unfortunately, the future is not clear. We are at odds if it will survice the growth of Wikidata and in particularly the SPARQL graph split. To be clear, the choice for Blazegraph initially worked great, but after it was bought by a big company, developed halted. Very unfortunate for Wikidata. Unlike earlier, we no longer have funding, and rewriting Scholia at this scale takes a good bit of effort. We already held a few hackathons.]]></summary></entry><entry><title type="html">The April 2025 Scholia hackathon</title><link href="https://chem-bla-ics.linkedchemistry.info/2025/04/20/the-april-2025-scholia-hackathon.html" rel="alternate" type="text/html" title="The April 2025 Scholia hackathon" /><published>2025-04-20T00:00:00+00:00</published><updated>2025-04-20T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2025/04/20/the-april-2025-scholia-hackathon</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2025/04/20/the-april-2025-scholia-hackathon.html"><![CDATA[<p>This is the third weekend I am working on Scholia, the first two part of the <a href="https://www.wikidata.org/wiki/Wikidata:Scholia/Events/Hackathon_April_2025#Participants">April 2025 hackathon</a>. It follows the hackathons
last year <a href="https://www.wikidata.org/wiki/Wikidata:Scholia/Events/Hackathon_October_2024">October</a> and
<a href="https://chem-bla-ics.linkedchemistry.info/2024/11/17/sparql-examples.html">November</a> hackathons.
There is some urgency for this unpaid work, because Wikidata is splitting the RDF into two
SPARQL endpoints (see <a href="https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2024-05-16/Op-Ed">this The Signpost</a>
and <a href="https://finnaarupnielsen.wordpress.com/2024/10/18/scholia-in-the-age-of-the-wikidata-query-service-split/">this post by Finn</a>).
This split has happened, but there is a <em>legacy</em> server for tools that have not been upgraded.</p>

<p>Scholia has not been upgraded. It has more then 350 SPARQL queries, and each one has to be tested
separately and updating every query is not trivial. Together with Daniel, Finn, and others, I have
hacked up patches last year to:</p>

<ul>
  <li><a href="https://chem-bla-ics.linkedchemistry.info/2024/08/23/scholia.html">configure Scholia for the endpoint to use</a></li>
  <li><a href="https://chem-bla-ics.linkedchemistry.info/2024/11/17/sparql-examples.html">create pages for many Scholia SPARQL queries</a></li>
</ul>

<p>This month I continued working on the second, and I:</p>

<ul>
  <li><a href="https://github.com/WDscholia/scholia/pull/2597">added titles for chemistry aspect panels</a></li>
  <li><a href="https://github.com/WDscholia/scholia/pull/2589">use the legacy SPARQL endpoint</a></li>
</ul>

<p>That second also indicated that the legacy server has more limited resources and users will more
quickly run into error messages that too many queries are run in parallel. Now, users can rerun
the query, but then the results table contains the previous error message. Second, you want to run
the queries for one aspect to not run all at the same time, but have Scholia send of the
query when the panel becomes visible (and scrolling a page takes a bit of time).</p>

<p>For these issues, I wrote these two patches (yet to be approven and merged):</p>

<ul>
  <li><a href="https://github.com/WDscholia/scholia/pull/2608">delete the previous error message</a></li>
  <li><a href="https://github.com/WDscholia/scholia/pull/2611">lazy load the table and iframe panels</a></li>
</ul>

<p>Now, the iframes already had some aspects of lazy loading, but it turned out that it was mostly
lazy display, and the queries were still run as soon as possible. This last patch challenged my
JavaScript skills and I learned <code class="language-plaintext highlighter-rouge">Intersection Observer API</code>, a browser technology that allows
the browser to see what part of the webpage you are looking at right now. Yeah, I can easily
see how that does user profiling, but in this case it is just used to fire of the SPARQL
query when it become relevant. It uses an additional callback function, so I had to
make sure Jekyll/Liquid creates custom callback functions for each panel.
Actually, I intended to show the code here, but I am not entirely sure how to escape
the code so that Jekyll does not try to run the instructions. For now, you have to
<a href="https://github.com/WDscholia/scholia/pull/2611/files">check the PR</a>.</p>

<h2 id="scholia-chemistry-paper">Scholia Chemistry paper</h2>

<p>The other things I have been doing, is finally finish up the Scholia Chemistry paper.
That actually depended on the maturing of various tools, me figuring out how to characterize
the actual amount of content contributed to Wikidata and how to make that transparent,
and more recently, the above to be able to convince readers Scholia will not die with
the graph split. With the above pages, we have, I think, sufficient guarantee it will
be around for another few years, at least.</p>

<p>This paper, which I hope to finish the final draft today, applying
some good feedback from co-author last weekend, is the final bit of work done on
the Alfred P. Sloan Foundation grant.</p>

<p>We intend to put the paper up as preprint soon and then submit it do a Diamond Open Access
journal, one that supports CiTO citation intent annotation.</p>]]></content><author><name>Egon Willighagen</name></author><category term="scholia" /><category term="javascript" /><category term="sparql" /><summary type="html"><![CDATA[This is the third weekend I am working on Scholia, the first two part of the April 2025 hackathon. It follows the hackathons last year October and November hackathons. There is some urgency for this unpaid work, because Wikidata is splitting the RDF into two SPARQL endpoints (see this The Signpost and this post by Finn). This split has happened, but there is a legacy server for tools that have not been upgraded.]]></summary></entry><entry><title type="html">SPARQL examples: SIB model, software, and patches</title><link href="https://chem-bla-ics.linkedchemistry.info/2024/11/17/sparql-examples.html" rel="alternate" type="text/html" title="SPARQL examples: SIB model, software, and patches" /><published>2024-11-17T00:00:00+00:00</published><updated>2024-11-17T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2024/11/17/sparql-examples</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2024/11/17/sparql-examples.html"><![CDATA[<p><a href="https://akademienl.social/@jerven">Jerven Bolleman</a> <em>et al.</em> recently <a href="https://arxiv.org/abs/2410.06010">published a great preprint</a>
about how to use RDF to give SPARQL queries context by linking it (semantically) with metadata. The context includes
keywords, the SPARQL endpoint the query can be run against, and a human-oriented description of the query. A few groups
have at recent hackathons been working on usingn the combination of a SPARQL query and a human-oriented description
to train large language models, including the group behind this paper. Given that SPARQL is a very small language, I can see
this may work well, and that it may support our <a href="https://vhp4safety.nl/">VHP4Safety</a> and
<a href="https://scholia.toolforge.org/">Scholia</a> projects.</p>

<p>But in addition to the data model for SPARQL as research output (see doi:<a href="https://doi.org/10.32388/ZNWI7T.2">10.32388/ZNWI7T.2</a>),
the paper also introduces the <a href="https://github.com/sib-swiss/sparql-examples-utils">sparql-example-utils</a> software that I was
first introduced with at <a href="https://www.wikidata.org/wiki/Wikidata:Scholia/Events/Hackathon_October_2024">the recent October Scholia hackathon</a>.</p>

<p>But I have/had some features I like to see added. The first is provenance. Who is the author/contributor of the SPARQL
query? Is there a open license for it, or perhaps public domain? How do I give attribution if I reuse the SPARQL query?
These things matter in a modern <a href="https://recognitionrewards.nl/">recognition and rewards</a> world where is room for
everyone’s talent. A set of good SPARQL queries may be more valuable than a ten-page Jupyter notebook (and the other way
around). So, I <a href="https://github.com/sib-swiss/sparql-examples-utils/pull/24">started</a>
<a href="https://github.com/sib-swiss/sparql-examples-utils/pull/25">writing</a>
<a href="https://github.com/sib-swiss/sparql-examples-utils/pull/26">patches</a>. And I created
<a href="https://github.com/BiGCAT-UM/sparql-examples-utils/releases/tag/v2.0.11-tgx-1">a custom jar</a> so that I can see these
patches in action in <a href="https://bigcat-um.github.io/sparql-examples/">our growing list of SPARQL queries</a>
(here <a href="https://bigcat-um.github.io/sparql-examples/examples/WikiPathways/002.html">a WikiPathways query</a>):</p>

<p><img src="/assets/images/sparql-examples-tgx.png" alt="" /></p>

<p>I started collecting SPARQL queries for <a href="https://bigcat-um.github.io/sparql-examples/examples/ChEMBL/">ChEMBL</a>,
<a href="https://bigcat-um.github.io/sparql-examples/examples/WikiPathways/">WikiPathways</a>, and
<a href="https://bigcat-um.github.io/sparql-examples/examples/VHP4Safety/">VHP4Safety</a>. These queries are often part
of other interfaces but we can easily extract the original SPARQL from the Turtle files behind these pages.</p>]]></content><author><name>Egon Willighagen</name></author><category term="sparql" /><category term="doi:10.32388/ZNWI7T" /><category term="justdoi:10.48550/arXiv.2410.06010" /><category term="wikipathways" /><category term="vhp4safety" /><category term="chembl" /><category term="scholia" /><summary type="html"><![CDATA[Jerven Bolleman et al. recently published a great preprint about how to use RDF to give SPARQL queries context by linking it (semantically) with metadata. The context includes keywords, the SPARQL endpoint the query can be run against, and a human-oriented description of the query. A few groups have at recent hackathons been working on usingn the combination of a SPARQL query and a human-oriented description to train large language models, including the group behind this paper. Given that SPARQL is a very small language, I can see this may work well, and that it may support our VHP4Safety and Scholia projects.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://chem-bla-ics.linkedchemistry.info/assets/images/sparql-examples-tgx.png" /><media:content medium="image" url="https://chem-bla-ics.linkedchemistry.info/assets/images/sparql-examples-tgx.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Scholia configurability</title><link href="https://chem-bla-ics.linkedchemistry.info/2024/08/23/scholia.html" rel="alternate" type="text/html" title="Scholia configurability" /><published>2024-08-23T00:00:00+00:00</published><updated>2024-08-23T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2024/08/23/scholia</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2024/08/23/scholia.html"><![CDATA[<p><a href="https://scholia.toolforge.org/">Scholia</a> is a visual layer on top of <a href="https://wikidata.org/">Wikidata</a> providing
a rich user experience for browing scholarly research related knowledge. I am using the combinatie
for various things, including exploring new research topics (a method, compound, or protein I do not know so much
about yet), indexing notable research output (including citations), <a href="https://chem-bla-ics.linkedchemistry.info/tag/cito">progress of Citation Typing Ontology
uptake</a>, etc. This weekend I hope to send around the
final draft for the <em>Scholia Chemistry</em> paper.</p>

<p>Scholia has received a fair share of scholarly and social attention. The Scholia paper has been cited
<a href="https://scholar.google.com/scholar?hl=en&amp;as_sdt=0%2C5&amp;q=scholia+wikidata&amp;btnG=&amp;oq=scholia">over 100 times</a> and
the websites received about 200 thousand page views each day (though we do not know how to get Toolforge
to give us sufficient insight into the how and what of that count). There is a Wikipedia template to link
to Scholia and some of projects I am involved in link Scholia for articles, such as
<a href="https://wikipathways.org/">WikiPathways</a>.</p>

<p>With that, there is also interest in using it for other Wikibases and perhaps even random SPARQL endpoints.
These things are not trivial, as Scholia uses complementary APIs, various URL patterns for some of the
functionality, and generally, all SPARQL queries are tweaked to the Wikidata Blazegraph SPARQL endpoint
to ensure results are returned in reasonable time. But that last requires use of Blazegraph extensions
to the SPARQL standard.</p>

<p>All this requires Scholia to become more independent, in a better model-view-controller model. And that
actually turns out very important at this moment. That is, Wikidata is not a RDF-first database, but
a Wikibase-based store. Whenever an edit is made, RDF is generated and the SPARQL endpoint is updated.
Now, the number of edits in Wikidata is enormous and the notion that the SPARQL endpoint is often minutes
at most behind is a huge accomplishment. But the Blazegraph platform cannot keep up with Wikidata.
Blazegraph is open source, but has been bought up and development stopped from one day to another.</p>

<p>Therefore, a split of the Wikidata SPARQL platform is <a href="https://phabricator.wikimedia.org/T337013">planned</a>.
This split will put one part of
the knowledge in on endpoint and the other half in the other. Any query that needs information
from both graphs, will have to do a federated SPARQL query. Basically, there are very few Scholia
queries that do not rewriting. My first rewrite actually failed, because the rewriting is not
obvious and quickly times out. To some extend, this is because now lots of results of subqueries
need to be send over the network from one endpoint to the other. When the combined query basically
covers half of each endpoint, that’s a lot of network traffic.</p>

<p>An immediate use case of the configuration is therefore running Scholia against the current three
endpoints: the current official endpoint, and the two split endpoints under development. With
<a href="https://github.com/WDscholia/scholia/pull/2515">a recent patch</a> <a href="@fnielsen@expressional.social">Finn</a>
and I worked on, this configuration looks like this (and saved as <code class="language-plaintext highlighter-rouge">scholia.ini</code>:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[query-server]
# Wikidata:
#sparql_endpoint = https://query.wikidata.org/sparql
#sparql_editurl = https://query.wikidata.org/#
#sparql_embedurl = https://query.wikidata.org/embed.html#

# Wikidata Split Main
sparql_endpoint = https://query-main.wikidata.org/sparql
sparql_editurl = https://query-main.wikidata.org/#
sparql_embedurl = https://query-main.wikidata.org/embed.html#

# Wikidata Split Scholar
#sparql_endpoint = https://query-scholarly.wikidata.org/sparql
#sparql_editurl = https://query-scholarly.wikidata.org/#
#sparql_embedurl = https://query-scholarly.wikidata.org/embed.html#
</code></pre></div></div>

<p>So, right now, we can test the impact of the split with Scholia and this patch.
We would fire up a local instances of Scholia, running against one of the
split endpoints, and use the Toolforge instance as baseline.</p>

<p>Now, on my system I need to use <a href="https://python.land/virtual-environments/virtualenv">Python virtualenv</a>
so, I first start a Scholia <code class="language-plaintext highlighter-rouge">venv</code>:</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">source</span> ~/.venvs/scholia/bin/activate
</code></pre></div></div>

<p>After that, I can select an other endpoint, e.g. the <code class="language-plaintext highlighter-rouge">main</code> Wikidata split endpoint (<code class="language-plaintext highlighter-rouge">query-main-experimental.wikidata.org</code>)
were it not they are <a href="https://phabricator.wikimedia.org/T371833">currently offline</a> as part of the transition
and run Scholia on a unique port:</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>scholia run
</code></pre></div></div>

<p>Then I can have two browser windows along side and compare Scholia pages againt the current
Scholia instance and when running against another SPARQL endpoint. For now, I can test how well
Scholia runs on the <a href="https://qlever.cs.uni-freiburg.de/wikidata">QLever instance of Wikidata</a> (superfast and
updated data once a week). Here the configuration I have is not entirely complete, and many
SPARQL queries do not work against QLever, including anything with graphical depiction. But
that said, I can use this configuration:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[query-server]
# QLever
#sparql_endpoint = https://qlever.cs.uni-freiburg.de/api/wikidata
#sparql_editurl = https://qlever.cs.uni-freiburg.de/wikidata/?query=
#sparql_embedurl = 
</code></pre></div></div>

<p>Then, I can compare, for example, the chemicals statistics the main Scholia with one running
against QLever:</p>

<p><img src="/assets/images/scholia_comparison.png" alt="" /></p>

<p>This query ran without modification. For other queries rewriting is needed, but with this
setup we can at least quickly see the differences in the results.</p>]]></content><author><name>Egon Willighagen</name></author><category term="scholia" /><category term="doi:10.1007/978-3-319-70407-4_36" /><category term="wikidata" /><category term="sparql" /><summary type="html"><![CDATA[Scholia is a visual layer on top of Wikidata providing a rich user experience for browing scholarly research related knowledge. I am using the combinatie for various things, including exploring new research topics (a method, compound, or protein I do not know so much about yet), indexing notable research output (including citations), progress of Citation Typing Ontology uptake, etc. This weekend I hope to send around the final draft for the Scholia Chemistry paper.]]></summary></entry><entry><title type="html">Two meetings: ELIXIR Toxicology and FAIR4ChemNL</title><link href="https://chem-bla-ics.linkedchemistry.info/2024/06/10/two-meetings.html" rel="alternate" type="text/html" title="Two meetings: ELIXIR Toxicology and FAIR4ChemNL" /><published>2024-06-10T00:00:00+00:00</published><updated>2024-06-10T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2024/06/10/two-meetings</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2024/06/10/two-meetings.html"><![CDATA[<p>Noting that in the coming week I am not attending the <a href="https://elixir-europe.org/events/elixir-all-hands-2024">ELIXIR All Hands in Uppsala</a>.
Having lived in (and around) Uppsala for more than three years, I am disappointed and with the first stories from colleagues coming
in even more. But it has been a way too busy year, I have much to finish up, and I need to take care of myself too. I am not 32 anymore.</p>

<p>But in the past two weeks I did attend two workshops. The first was a <a href="https://www.aanmelder.nl/intoxicom2024firstworkshop">workshop</a> by the
<a href="https://elixir-europe.org/communities/toxicology">ELIXIR Toxicology Community</a>, which was held in Utrecht/NL. The programme was around
FAIR and included two really nice hands-on sessions where we developed drafts for <a href="https://faircookbook.elixir-europe.org/">FAIR Cookbook</a>
recipes (see also doi:<a href="https://doi.org/10.1038/s41597-023-02166-3">10.1038/s41597-023-02166-3</a>) and for
<a href="https://www.go-fair.org/how-to-go-fair/fair-implementation-profile/">FAIR Implementation Profiles</a>
(doi:<a href="https://doi.org/10.1007/978-3-030-65847-2_13">10.1007/978-3-030-65847-2_13</a>). We will write up a
<a href="https://biohackrxiv.org/discover">BioHackrXiv</a> report.</p>

<p>The second workshop was last week, the <a href="https://tdcc.nl/evenementen/fair4chemnl-workshop/">FAIR4ChemNL workshop</a>, which was also held
in Utrecht/NL. The topic was FAIR in chemistry, and we discussed various aspects. There was a significant participant group from the
German NFDI4Cat project (“Cat” is short for (chemical) catalysis), which recently published a nice analysis of several ontologies
(doi:<a href="https://doi.org/10.1186/s13321-024-00807-2">10.1186/s13321-024-00807-2</a>). And there was also a lot of mention of RDF and SPARQL.</p>

<p>I think it is time for a new special issue around semantic web technologies.</p>]]></content><author><name>Egon Willighagen</name></author><category term="elixir" /><category term="fair" /><category term="chemistry" /><category term="doi:10.1038/S41597-023-02166-3" /><category term="justdoi:10.1007/978-3-030-65847-2_13" /><category term="justdoi:10.1186/S13321-024-00807-2" /><category term="rdf" /><category term="sparql" /><category term="fair4chemnl" /><summary type="html"><![CDATA[Noting that in the coming week I am not attending the ELIXIR All Hands in Uppsala. Having lived in (and around) Uppsala for more than three years, I am disappointed and with the first stories from colleagues coming in even more. But it has been a way too busy year, I have much to finish up, and I need to take care of myself too. I am not 32 anymore.]]></summary></entry><entry><title type="html">Paper: “Extending inherited metabolic disorder diagnostics with biomarker interaction visualizations”</title><link href="https://chem-bla-ics.linkedchemistry.info/2023/05/12/paper-extending-inherited-metabolic.html" rel="alternate" type="text/html" title="Paper: “Extending inherited metabolic disorder diagnostics with biomarker interaction visualizations”" /><published>2023-05-12T00:00:00+00:00</published><updated>2023-05-12T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2023/05/12/paper-extending-inherited-metabolic</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2023/05/12/paper-extending-inherited-metabolic.html"><![CDATA[<p>When I joined the BiGCaT research group in 2012 I was particularly interested in the open science approach of WikiPathways.
As a chemist by training and researcher in cheminformatics, metabolites and their metabolic reactions took my particular
interest. I am happy that I have been able to fund Denise’s research project. And thanks Denise for this very exciting research.
I know it’s just a first step, and far more translational steps are needed, but I for one am very exciting to bridge molecular
info to clinical outcomes.</p>

<p>In this study, Denise explored how we can take advantage from molecular pathway databases to link biomarker information:
<em>“Our framework integrates literature and expert knowledge into machine-readable pathway models, including relevant urine
biomarkers and their interactions. The clinical data of 16 previously diagnosed patients with various pyrimidine and urea
cycle disorders were visualized on the top 3 relevant pathways. Two expert laboratory scientists evaluated the resulting
visualizations to derive a diagnosis”</em> (doi:<a href="https://doi.org/10.1186/s13023-023-02683-9">10.1186/s13023-023-02683-9</a>).</p>

<p>Figure 4 shows how such a visualization of those biomarker interactions can look like:</p>

<p><img src="/assets/images/13023_2023_2683_Fig4_HTML.png" alt="" /></p>

<p>And I am hugely proud of the open science approach, <a href="https://bigcat-um.github.io/IMD-PUPY/">from GitHub repo</a>, open source
R code, SPARQL queries. Thank you, Denise! And thanks to <a href="https://cris.maastrichtuniversity.nl/en/persons/laura-steinbusch">Dr Laura Steinbusch</a>
for this nice collaboration! Further acks in the article.</p>]]></content><author><name>Egon Willighagen</name></author><category term="metabolomics" /><category term="rdf" /><category term="sparql" /><category term="wikipathways" /><category term="doi:10.1186/S13023-023-02683-9" /><summary type="html"><![CDATA[When I joined the BiGCaT research group in 2012 I was particularly interested in the open science approach of WikiPathways. As a chemist by training and researcher in cheminformatics, metabolites and their metabolic reactions took my particular interest. I am happy that I have been able to fund Denise’s research project. And thanks Denise for this very exciting research. I know it’s just a first step, and far more translational steps are needed, but I for one am very exciting to bridge molecular info to clinical outcomes.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://chem-bla-ics.linkedchemistry.info/assets/images/13023_2023_2683_Fig4_HTML.png" /><media:content medium="image" url="https://chem-bla-ics.linkedchemistry.info/assets/images/13023_2023_2683_Fig4_HTML.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>