CINXE.COM
Scholia
<!DOCTYPE html> <html> <head> <title>Scholia</title> <meta charset="UTF-8"> <meta name="robots" content="index, nofollow"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="og:url" content="https://scholia.toolforge.org/chemical-class/Q41581" /> <meta name="og:site_name" content="Scholia" /> <meta name="og:image" content="/static/images/scholia_social_media.png" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@WDScholia" /> <!-- Bootstrap --> <link href="/static/css/bootstrap.min.css" rel="stylesheet"> <link rel="canonical" href="https://scholia.toolforge.org/chemical-class/Q41581"> <link rel="stylesheet" type="text/css" href="/static/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="/static/jquery.dataTables.min.css"> <link rel="stylesheet" type="text/css" href="/static/css/scholia.css"> <link rel='stylesheet' type='text/css' href="/static/css/nightmode.css"> <!-- Generated with RealFaviconGenerator --> <link rel="apple-touch-icon" sizes="180x180" href="/static/favicon/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/static/favicon/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/static/favicon/favicon-16x16.png"> <link rel="manifest" href="/static/favicon/site.webmanifest"> <link rel="mask-icon" href="/static/favicon/safari-pinned-tab.svg" color="#09af8a"> <link rel="shortcut icon" href="/static/favicon/favicon.ico"> <meta name="apple-mobile-web-app-title" content="Scholia"> <meta name="application-name" content="Scholia"> <meta name="msapplication-TileColor" content="#09af8a"> <meta name="theme-color" content="#09af8a"> </head> <body> <nav class="navbar navbar-expand-lg" style="max-width: 1200px;"> <a class="navbar-brand" href="/"><img src="/static/images/scholia_wordmark.svg" width="112px" height="24px" alt="Scholia"></a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item"><a class="nav-link" href="/author/">Author</a></li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="workDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Work </a> <div class="dropdown-menu" aria-labelledby="workDropdown"> <a class="dropdown-item" href="/work/">Work</a> <a class="dropdown-item" href="/venue/">Venue</a> <a class="dropdown-item" href="/series/">Series</a> <a class="dropdown-item" href="/catalogue/">Catalogue</a> <a class="dropdown-item" href="/publisher/">Publisher</a> <a class="dropdown-item" href="/printer/">Printer</a> </div> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="organisationDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Organization </a> <div class="dropdown-menu" aria-labelledby="organisationDropdown"> <a class="dropdown-item" href="/organization/">Organization</a> <a class="dropdown-item" href="/publisher/">Publisher</a> <a class="dropdown-item" href="/printer/">Printer</a> <a class="dropdown-item" href="/sponsor/">Sponsor</a> </div> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="locationDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Location </a> <div class="dropdown-menu" aria-labelledby="locationDropdown"> <a class="dropdown-item" href="/location/">Location</a> <a class="dropdown-item" href="/country/">Country</a> </div> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="eventDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Event </a> <div class="dropdown-menu" aria-labelledby="eventDropdown"> <a class="dropdown-item" href="/event/">Event</a> <a class="dropdown-item" href="/event-series/">Event series</a> </div> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="projectDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Project </a> <div class="dropdown-menu" aria-labelledby="projectDropdown"> <a class="dropdown-item" href="/clinical-trial/">Clinical trial</a> <a class="dropdown-item" href="/project/">Project</a> <a class="dropdown-item" href="/wikiproject/">WikiProject</a> </div> </li> <li class="nav-item"><a class="nav-link" href="/award/">Award</a></li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="topicDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Topic </a> <div class="dropdown-menu" aria-labelledby="projectDropdown"> <a class="dropdown-item" href="/topic/">General</a> <a class="dropdown-item" href="/disease/">Disease</a> <a class="dropdown-item" href="/taxon/">Taxon</a> <a class="dropdown-item" href="/gene/">Gene</a> <a class="dropdown-item" href="/protein/">Protein</a> <a class="dropdown-item" href="/pathway/">Pathway</a> <a class="dropdown-item" href="/chemical/">Chemical</a> <a class="dropdown-item" href="/chemical-element/">Chemical element</a> <a class="dropdown-item" href="/chemical-class/">Chemical class</a> <a class="dropdown-item" href="/lexeme/">Lexeme</a> <a class="dropdown-item" href="/ontology/">Ontology</a> <a class="dropdown-item" href="/software/">Software</a> <a class="dropdown-item" href="/use/">Use</a> </div> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="toolsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Tools </a> <div class="dropdown-menu" aria-labelledby="toolsDropdown"> <a class="dropdown-item" href="/id-to-quickstatements">Identifier to Quickstatements</a> <a class="dropdown-item" href="/q-to-bibliography-templates">Q to Bibliography templates</a> <a class="dropdown-item" href="/text-to-topics">Text to topics</a> </div> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="helpDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Help </a> <div class="dropdown-menu" aria-labelledby="helpDropdown"> <a class="dropdown-item" href="/about">About</a> <a class="dropdown-item" href="/statistics">Statistics</a> <a class="dropdown-item" href="/faq">FAQ</a> </div> </li> </ul> <div class='nav nav-search'> <input class="form-control" type="text" id="searchterm" placeholder="Search..."/> </div> </div> </nav> <div class="content"> <div class="container d-flex justify-content-between"> <div class="dropdown" id="aspect-chooser"> </div> <div> <a id='curation-link' role="button" class="btn btn-outline-secondary d-none">Improve data</a> </div> </div> <div class="container"> <h1 id="h1">Chemical</h1> <div class="card-deck mb-3"> <div class="card mb-4 box-shadow"> <div class="card-body"> <div id="intro"></div> </div> </div> <div class="card mb-4 box-shadow"> <div class="card-body"> <img src="https://cdkdepict.toolforge.org/depict/bow/svg?smi=C%5B%2A%5D&abbr=on&hdisp=bridgehead&showtitle=false&zoom=2&annotate=cip" /> </div> </div> </div> <h2 id="class-hierarchy">Class Hierarchy</h2> <div class="embed-responsive embed-responsive-4by3"> <iframe class="embed-responsive-item" id="class-hierarchy-iframe" ></iframe> </div> <h2 id="identifiers">Identifiers</h2> <table class="table table-hover" id="identifiers-table"></table> <h2 id="related-chemicals">Example Compounds</h2> <table class="table table-hover" id="related-chemicals-table"></table> <h2 id="recent-literature">Recently published works on the chemical class<a href="/topic/Q41581/latest-works/rss"><img height="24" width="48" src="/static/images/rss-40674_320.png" alt="RSS icon" /></a></h2> <table class="table table-hover" id="recent-literature-table"></table> <h2 id="publications-per-year">Publications per year</h2> <div class="embed-responsive embed-responsive-16by9"> <iframe class="embed-responsive-item" id="publications-per-year-iframe" ></iframe> </div> <h2 id="found-in-taxon">Taxa in which the chemical class was found</h2> <table class="table table-hover" id="found-in-taxon-table"></table> </div> </div> <div class="container footer"> <hr> Data from <a href="https://www.wikidata.org">Wikidata</a> and <a href="https://en.wikipedia.org">English Wikipedia</a> | Code from <a href="https://github.com/WDscholia/scholia">GitHub repository</a> | Hosted on <a href="https://toolforge.org/">Wikimedia Toolforge</a>, a <a href="https://wikimediafoundation.org">Wikimedia Foundation</a> service | License for content: CC0 for data, CC-BY-SA for text and media | Report technical problems at Scholia's <a href="https://github.com/WDscholia/scholia/issues">Issues</a> GitHub page. | Follow us on <a href="https://wikis.world/@wdscholia">Mastodon</a>. <hr> </div> <script src="/static/jquery.min.js"></script> <script src="/static/js/popper.min.js"></script> <script src="/static/js/bootstrap.min.js"></script> <script type="text/javascript" src="/static/d3.v5.min.js"></script> <script type="text/javascript" src="/static/d3-scale-chromatic.v1.min.js"></script> <script type="text/javascript" src="/static/jquery.dataTables.min.js"></script> <script type="text/javascript" src="/static/scholia.js"></script> <script type="text/javascript" src="/static/bootstrap-autocomplete.min.js"></script> <script type="text/javascript"> var url = 'https://www.wikidata.org/w/api.php?action=wbgetentities&ids=' + 'Q41581' + '&format=json&callback=?'; const currentAspect = window.location.pathname.split("/")[1]; $.getJSON(url, function (data) { var item = data.entities["Q41581"]; if ('en' in item.labels) { var title = item.labels.en.value; var wdtitle = item.labels.en.value; $("#h1").text(title); $(".self").text(title); $("title").text(title + " - Scholia"); var crossref_button = document.getElementById("check-crossref-button"); if (title && crossref_button) { crossref_button.onclick = () => {get_dois_from_crossref(wdtitle)} crossref_button.innerHTML = "Check Crossref" } } $("#h1").append(' (<a href="https://www.wikidata.org/wiki/Q41581">Q41581</a>)'); if ("P18" in item.claims) { // Find P18 claim which is not deprecated const p18Claim = item.claims.P18.find(function (claim) { return claim.rank !== "deprecated"; }); if (undefined !== p18Claim) { var imageName = p18Claim.mainsnak.datavalue.value; // spaces must be replaced by underscores in the file name imageName = imageName.replaceAll(" ", "_") var imageNameMd5 = md5(imageName); var imageURL = "https://upload.wikimedia.org/wikipedia/commons/thumb/" imageURL += imageNameMd5[0] + "/" + imageNameMd5.slice(0,2) + "/" var filetype = imageName.match(/\.(\w+)$/); var extension = filetype[1].toLowerCase() if (extension === "tif" || extension === "tiff") { imageURL += encodeURIComponent(imageName) + "/lossy-page1-500px-" + encodeURIComponent(imageName) + ".jpg"; } else if (extension === "svg") { imageURL += encodeURIComponent(imageName) + "/500px-" + encodeURIComponent(imageName) + ".png"; } else { imageURL += encodeURIComponent(imageName) + "/500px-" + encodeURIComponent(imageName); } var itemImage = document.getElementById("item-image"); if (itemImage) { itemImage.src = imageURL; itemImage.title = imageName.slice(0, imageName.lastIndexOf('.')); itemImage.setAttribute('alt', imageName); var link = document.createElement('a'); link.href = "https://commons.wikimedia.org/wiki/File:" + encodeURIComponent(imageName); link.style = "max-width: 50%" var parent = itemImage.parentNode; parent.replaceChild(link, itemImage); link.appendChild(itemImage); } } } if ("P10286" in item.claims) { var imageURL = item.claims.P10286[0].mainsnak.datavalue.value; var itemImage = document.getElementById("item-image"); if (itemImage) { itemImage.src = imageURL; } } function socialMediaLink(detailsList, user, site, logo = '') { var html = ''; if (logo) { html += '<a href="' + site.url + '"><img alt="' + site.name + ' logo" src="'; html += logo.src + '" width="16" height="16" hspace="4" /></a> '; } html += '<a href="' + site.url + encodeURI(user.name) + '">'; html += user.prefix + escapeHTML(user.name) + '</a>'; detailsList.push(html); } function sortRank(a, b) { const aRank = a["rank"]; const bRank = b["rank"]; if (aRank == bRank) { return 0; } if (aRank == "preferred" || bRank == "deprecated") { return -1; } if (bRank == "preferred" || aRank == "deprecated") { return 1; } return 0; } var detailsList = Array(); if ("P496" in item.claims) { var user = {name: item.claims.P496[0].mainsnak.datavalue.value, prefix: 'https://orcid.org/'}; var site = {name: "ORCID", url: "https://orcid.org/"}; var logo = {src: "/static/images/orcid.svg"}; socialMediaLink(detailsList, user, site, logo); } if ("P4033" in item.claims) { var mastodonAccount = item.claims.P4033[0].mainsnak.datavalue.value; var mastodonComponents = mastodonAccount.split("@"); if (mastodonComponents.length == 2) { // Mastodon user URLs start with @ var user = { name: '@' + mastodonComponents[0], prefix: '' }; var site = { name: "Mastodon", url: 'https://' + mastodonComponents[1] + '/' }; var logo = { src: "/static/images/mastodon.svg" }; socialMediaLink(detailsList, user, site, logo); } } if ("P2037" in item.claims) { var user = {name: item.claims.P2037[0].mainsnak.datavalue.value, prefix: "@"}; var site = { name: "GitHub", url: "https://github.com/" }; var logo = { src: "/static/images/github.svg" }; socialMediaLink(detailsList, user, site, logo); } if ("P6782" in item.claims) { var user = { name: item.claims.P6782[0].mainsnak.datavalue.value, prefix: 'https://ror.org/' }; var site = { name: "Research Organization Registry", url: 'https://ror.org/' }; var logo = { src: "/static/images/ror.svg" }; socialMediaLink(detailsList, user, site, logo); } if ("P2572" in item.claims) { var user = { name: item.claims.P2572[0].mainsnak.datavalue.value, prefix: '#' }; var site = { name: "Hashtag hub", url: 'https://hashtags-hub.toolforge.org/' }; socialMediaLink(detailsList, user, site); } /* Official homepage */ if ("P856" in item.claims) { var homepage = item.claims.P856.sort(sortRank)[0] var homepageURL = homepage.mainsnak.datavalue.value detailsList.push(' <a href="' + homepageURL + '">' + homepageURL + '</a>'); } if (detailsList.length > 0) { $('#details').append(detailsList.join(" | ")); } try { var doi = item.claims.P356[0].mainsnak.datavalue.value; $("head").append( '<meta name="citation_doi" content="' + doi + '"/>' ); } catch(e) {} /* BioSchemas annotation */ if (item.claims.P31 && ((item.claims.P31[0].mainsnak.datavalue.value.id == 'Q5'))) { try { /* Person */ bioschemasAnnotation = { "@context" : "https://schema.org", "@type" : "Person" , "http://purl.org/dc/terms/conformsTo": { "@type": "CreativeWork", "@id": "https://bioschemas.org/profiles/Person/0.2-DRAFT-2019_07_19/" }, "description" : "A person" , "identifier" : "Q41581" , "mainEntityOfPage" : "http://www.wikidata.org/entity/Q41581" } if ('en' in item.labels) { bioschemasAnnotation.name = item.labels.en.value; } $( '#bioschemas' ).append( JSON.stringify(bioschemasAnnotation) ); } catch(e) {} } else if (item.claims.P31 && ((item.claims.P31[0].mainsnak.datavalue.value.id == 'Q47461491') || (item.claims.P31[0].mainsnak.datavalue.value.id == 'Q967847'))) { try { /* ChemicalSubstance */ bioschemasAnnotation = { "@context" : "https://schema.org", "@type" : "ChemicalSubstance" , "http://purl.org/dc/terms/conformsTo": { "@type": "CreativeWork", "@id": "https://bioschemas.org/profiles/ChemicalSubstance/0.4-RELEASE/" }, "identifier" : "Q41581" , "url" : "http://www.wikidata.org/entity/Q41581" } if ('en' in item.labels) { bioschemasAnnotation.name = item.labels.en.value; } $( '#bioschemas' ).append( JSON.stringify(bioschemasAnnotation) ); } catch(e) {} } else if (item.claims.P225) { try { /* Taxon */ var taxonName = item.claims.P225[0].mainsnak.datavalue.value; bioschemasAnnotation = { "@context" : "https://schema.org", "@type" : "Taxon" , "http://purl.org/dc/terms/conformsTo": { "@type": "CreativeWork", "@id": "https://bioschemas.org/profiles/Taxon/0.6-RELEASE/" }, "name" : taxonName , "url" : "http://www.wikidata.org/entity/Q41581" } if (item.claims.P105) { var taxonRank = item.claims.P105[0].mainsnak.datavalue.value.id; bioschemasAnnotation.taxonRank = "http://www.wikidata.org/entity/" + taxonRank ; } if (item.claims.P171) { var parent = item.claims.P171[0].mainsnak.datavalue.value.id; bioschemasAnnotation.parentTaxon = "http://www.wikidata.org/entity/" + parent ; } $( '#bioschemas' ).append( JSON.stringify(bioschemasAnnotation) ); // console.log(JSON.stringify(bioschemasAnnotation, "", 2)) } catch(e) {} } else if (item.claims.P235) { try { /* Chemical Compound */ var inchiKey = item.claims.P235[0].mainsnak.datavalue.value; bioschemasAnnotation = { "@context" : "https://schema.org", "@type" : "MolecularEntity" , "http://purl.org/dc/terms/conformsTo": { "@type": "CreativeWork", "@id": "https://bioschemas.org/profiles/MolecularEntity/0.5-RELEASE/" }, "identifier" : "Q41581" , "inChIKey" : inchiKey , "url" : "http://www.wikidata.org/entity/Q41581" } if ('en' in item.labels) { bioschemasAnnotation.name = item.labels.en.value; } if (item.claims.P234 && item.claims.P234[0].mainsnak.datavalue) { var inchi = item.claims.P234[0].mainsnak.datavalue.value; bioschemasAnnotation.inChI = inchi ; } if (item.claims.P274 && item.claims.P274[0].mainsnak.datavalue) { var chemformula = item.claims.P274[0].mainsnak.datavalue.value; bioschemasAnnotation.molecularFormula = chemformula ; } if (item.claims.P2017 && item.claims.P2017[0].mainsnak.datavalue) { var smiles = item.claims.P2017[0].mainsnak.datavalue.value; bioschemasAnnotation.molecularFormula = smiles.replace("\"", "\'\'") ; } else if (item.claims.P233 && item.claims.P233[0].mainsnak.datavalue) { var smiles = item.claims.P233[0].mainsnak.datavalue.value; bioschemasAnnotation.smiles = smiles.replace("\"", "\'\'") ; } $( '#bioschemas' ).append( JSON.stringify(bioschemasAnnotation) ); } catch(e) { console.error("Exception: " + e) } } else if (item.claims.P352) { // UniProt ID try { /* Protein */ var uniprot = item.claims.P352[0].mainsnak.datavalue.value; bioschemasAnnotation = { "@context" : "https://schema.org", "@type" : "Protein" , "http://purl.org/dc/terms/conformsTo": { "@type": "CreativeWork", "@id": "https://bioschemas.org/profiles/Protein/0.11-RELEASE/" }, "identifier" : "Q41581" , "url" : "http://www.wikidata.org/entity/Q41581" , "sameAs": "https://www.uniprot.org/uniprot/" + uniprot } if ('en' in item.labels) { bioschemasAnnotation.name = item.labels.en.value; } $( '#bioschemas' ).append( JSON.stringify(bioschemasAnnotation) ); } catch(e) { console.error("Exception: " + e) } } else if (item.claims.P351 || item.claims.P594) { // NCBI Gene or Ensembl try { /* Gene */ bioschemasAnnotation = { "@context" : "https://schema.org", "@type" : "Gene" , "http://purl.org/dc/terms/conformsTo": { "@type": "CreativeWork", "@id": "https://bioschemas.org/profiles/Gene/0.7-RELEASE/" }, "identifier" : "Q41581" , "url" : "http://www.wikidata.org/entity/Q41581" } if ('en' in item.labels) { bioschemasAnnotation.name = item.labels.en.value; } counter = 0 bioschemasAnnotation.sameAs = [] if (item.claims.P351 && item.claims.P351[0].mainsnak.datavalue) { var ncbi = item.claims.P351[0].mainsnak.datavalue.value; bioschemasAnnotation.sameAs[counter] = "https://www.ncbi.nlm.nih.gov/gene/" + ncbi; counter++ } if (item.claims.P594 && item.claims.P594[0].mainsnak.datavalue) { var ensembl = item.claims.P594[0].mainsnak.datavalue.value; bioschemasAnnotation.sameAs[counter] = "http://identifiers.org/ensembl/" + ensembl; } $( '#bioschemas' ).append( JSON.stringify(bioschemasAnnotation) ); } catch(e) { console.error("Exception: " + e) } } /* English Wikipedia */ if ('enwiki' in item.sitelinks) { var title = item.sitelinks.enwiki.title; var wikipediaApiUrl = 'https://en.wikipedia.org/api/rest_v1/page/summary/' + encodeURIComponent(title); var wikipediaUrl = 'https://en.wikipedia.org/wiki/' + encodeURIComponent(title) var headers = new Headers({"Api-User-Agent": "https://github.com/WDscholia/scholia"}); fetch(wikipediaApiUrl, {method: 'GET', headers: headers}) .then(response => response.json()) .then(data => { var html = " (<a href=\"" + wikipediaUrl + "\">Read more on English Wikipedia</a>)"; $("#intro").text(data.extract).append(html); }).catch(error => { var html = "<a href=\"" + wikipediaUrl + "\">View on English Wikipedia</a>"; $("#intro").append(html); console.error('Could not get summary from enwiki: ', error); }); } /* English Wikiversity */ if ('enwikiversity' in item.sitelinks) { var enwikiversityTitle = item.sitelinks.enwikiversity.title; var wikiversityApiUrl = 'https://en.wikiversity.org/w/api.php?' + 'action=query&prop=extracts&exsentences=3&exlimit=1&exintro=1&' + 'explaintext=1&callback=?&format=json&titles=' + encodeURIComponent(enwikiversityTitle); var wikiversityUrl = 'https://en.wikiversity.org/wiki/' + encodeURIComponent(enwikiversityTitle) $.getJSON(wikiversityApiUrl, function(data) { var pages = data.query.pages; var text = pages[Object.keys(pages)[0]].extract; if (text) { var html = "... (from the <a href=\"" + wikiversityUrl + "\">English Wikiversity</a>)"; } else { var html = "Read on the <a href=\"" + wikiversityUrl + "\">English Wikiversity</a>"; } $("#wikiversity-extract").text(text).append(html); }).fail(function(d, textStatus, error) { var html = "Read on the <a href=\"" + wikiversityUrl + "\">English Wikiversity</a>"; $("#wikiversity-extract").append(html); console.error("getJSON failed, status: " + textStatus + ", error: "+error) }); } }); var curationElement = document.getElementById("curation-link"); curationElement.href = "/" + currentAspect + "/Q41581/curation"; curationElement.classList.remove("d-none"); // this query opens the Wikidata item as a different aspect var endpointUrl = 'https://query.wikidata.org/sparql'; if ("".length) { var query = ` SELECT DISTINCT ?aspect WHERE { { [] wdt:P17 wd:Q41581 . BIND("country" AS ?aspect) } UNION { wd:Q41581 wdt:P159? / wdt:P625 [] . BIND("location" AS ?aspect) } UNION { [] wdt:P1416 | wdt:P108 wd:Q41581 . BIND("organization" AS ?aspect) } } `; } else { var query = ` SELECT DISTINCT ?aspect WHERE { { [] wdt:P50 wd:Q41581 . BIND("author" AS ?aspect) } UNION { [] wdt:P166 wd:Q41581 . BIND("award" AS ?aspect) } UNION { wd:Q41581 wdt:P31 / wdt:P279? wd:Q22325163 . BIND("complex" AS ?aspect) } UNION { [] wdt:P17 wd:Q41581 . BIND("country" AS ?aspect) } UNION { [] wdt:P972 wd:Q41581 . BIND("catalogue" AS ?aspect) } UNION { wd:Q41581 wdt:P235 [] . BIND("chemical" AS ?aspect) } UNION { wd:Q41581 ^wdt:P31/wdt:P235 [] . BIND("chemical-class" AS ?aspect) } UNION { wd:Q41581 wdt:P644 [] . BIND("gene" AS ?aspect) } UNION { wd:Q41581 wdt:P159? / wdt:P625 [] . BIND("location" AS ?aspect) } UNION { [] wdt:P1416 | wdt:P108 wd:Q41581 . BIND("organization" AS ?aspect) } UNION { wd:Q41581 wdt:P31 wd:Q2996394 . BIND("pathway" AS ?aspect) } UNION { wd:Q41581 wdt:P31 wd:Q4915012 . BIND("pathway" AS ?aspect) } UNION { [] wdt:P872 wd:Q41581 . BIND("printer" AS ?aspect) } UNION { wd:Q41581 wdt:P31 wd:Q8054 . BIND("protein" AS ?aspect) } UNION { [] wdt:P123 wd:Q41581 . BIND("publisher" AS ?aspect) } UNION { [] wdt:P179 wd:Q41581 . BIND("series" AS ?aspect) } UNION { wd:Q41581 wdt:P31 / wdt:P279* wd:Q7397 . BIND("software" AS ?aspect) } UNION { [] wdt:P859 wd:Q41581 . BIND("sponsor" AS ?aspect) } UNION { wd:Q41581 wdt:P225 [] . BIND("taxon" AS ?aspect) } UNION { [] wdt:P921 wd:Q41581 . BIND("topic" AS ?aspect) } UNION { [] wdt:P4510 wd:Q41581 . BIND("use" AS ?aspect) } UNION { [] wdt:P1433 wd:Q41581 . BIND("venue" AS ?aspect) } UNION { wd:Q41581 wdt:P50 | wdt:P2093 [] . BIND("work" AS ?aspect) } } `; } settings = { headers: { Accept: 'application/sparql-results+json' }, data: { query: query } }; $.ajax(endpointUrl, settings).then(function (data) { createDropdownButton("aspect-chooser", 'aspectMenuButton', currentAspect, data, "Q41581") if (data.results.bindings.length > 1) { addDropdownList("aspect-chooser", 'aspectMenuList', currentAspect, data) } }).then(function () { if ("".length) { var endpointUrl = 'https://query.wikidata.org/sparql'; var query = "SELECT DISTINCT ?aspect WHERE {" query += '{ [] wdt:P921 wd:Q41581 . BIND("topic" AS ?aspect) } }'; settings = { headers: { Accept: 'application/sparql-results+json' }, data: { query: query } }; $.ajax(endpointUrl, settings).then(function (data) { var aspectLabel = " / <a href='/" + currentAspect + "/Q41581'>Q41581</a> / " document.getElementById("aspect-chooser-label").innerHTML = aspectLabel; var currentSubAspect = window.location.pathname.split("/")[3]; document.querySelectorAll("#aspectMenuList a").forEach((link) => link.href += "/" + currentSubAspect + "/") createDropdownButton("aspect-chooser", 'aspectMenuButton', currentSubAspect, data, "") if (data.results.bindings.length > 1) { addDropdownList("aspect-chooser", 'aspectMenuList', currentSubAspect, data) } }).fail(function (jqXHR, textStatus, errorThrown) { console.error("Subaspect chooser failed to generate. " + textStatus + " " + errorThrown) }); } }).fail(function (jqXHR, textStatus, errorThrown) { console.error("Aspect chooser failed to generate. " + textStatus + " " + errorThrown) }); function createDropdownButton(parent, id, currentAspect, data, q) { var aspectDropdown = document.createElement('button'); aspectDropdown.type = 'button'; aspectDropdown.id = id; aspectDropdown.classList = 'btn btn-outline-secondary'; // only show aspects which have a curation page with author-disambig or wikidata links var validCurationPages = ["author", "award", "organization", "topic", "venue"] if (data.results.bindings.length > 1) { aspectDropdown.classList.add('dropdown-toggle'); aspectDropdown.setAttribute('data-toggle', 'dropdown'); aspectDropdown.setAttribute('aria-haspopup', 'true'); aspectDropdown.setAttribute('aria-expanded', 'false'); } aspectDropdown.innerText = currentAspect; document.getElementById(parent).append(aspectDropdown); aspectDropdown.insertAdjacentHTML("afterend", '<span id="aspect-chooser-label" style="color: #6C757D; vertical-align: middle;margin: 2px;"> / '+ q + '</span>') } function addDropdownList(parent, id, currentAspect, data) { var aspectDropdownMenu = document.createElement('div'); aspectDropdownMenu.classList = 'dropdown-menu'; aspectDropdownMenu.setAttribute('aria-labelledby', 'aspectMenuButton'); aspectDropdownMenu.id = id data.results.bindings.forEach(function (entry) { var aspect = entry.aspect.value; if (aspect != currentAspect) { var dropdownItem = document.createElement('a'); dropdownItem.classList = 'dropdown-item'; dropdownItem.href = "/" + aspect + '/Q41581'; dropdownItem.innerText = aspect; aspectDropdownMenu.append(dropdownItem); } }); document.getElementById(parent).append(aspectDropdownMenu); } /* Wembedder */ var wembedderUrl = "https://wembedder.toolforge.org/api/most-similar/Q41581"; $.ajax({ url: wembedderUrl, success: function (data) { var html = `<hr>` + `<span data-toogle="tooltip" ` + `title="Related items from Wembedder knowledge graph embedding.">` + `<a alt="Wembedder about page" ` + `href="https://wembedder.toolforge.org/about">Related</a>:</span> `; $( '#wembedder' ).append(html); // Make list with results data.most_similar.forEach(function(entry, idx, array) { var listed_q = entry.item; var language = 'en'; if (idx !== 0) { $( '#wembedder' ).append( ' · '); } var html = '<a href="../' + listed_q + '"><span id="wembedder-result-' + listed_q + '">' + listed_q + '</span></a> ' $( '#wembedder' ).append( html ); // Convert Q identifier to labels $.getJSON("https://www.wikidata.org/w/api.php?callback=?", { action: "wbgetentities", ids: listed_q, language: language, uselang: language, format: "json", strictlanguage: true, }, function (data) { if (listed_q in data.entities) { label = entityToLabel(data.entities[listed_q], language=language); $('#wembedder-result-' + listed_q).empty(); $('#wembedder-result-' + listed_q).text(label); } }); }); $( '#wembedder' ).append( '<hr>' ); }, error: function (jqXHR, textStatus, errorThrown) { console.error("Wembedder failed. " + textStatus + " " + errorThrown) }, }); $(document).ready(function () { $('#searchterm').autoComplete({ minLength: 2, resolver: 'custom', events: { search: debounce((searchTerm, callback) => { var url = "https://www.wikidata.org/w/api.php?callback=?"; var settings = { dataType: 'jsonp', data: { search: searchTerm, action: "wbsearchentities", language: "en", uselang: "en", format: "json", strictlanguage: true } }; $.ajax(url, settings).then(function (data) { if (data.search.length) { let results = ['Show all results for "' + searchTerm + '"'] for (let item of data.search) { results.push(item.label + " - " + item.description + " (" + item.title + ")"); } callback(results) } else { callback([]) } }).fail(function (jqXHR, textStatus, errorThrown) { callback(["Search failed"]) console.error("Search failed. " + textStatus + " " + errorThrown) }); }, 200) } }); $("#searchterm").on("autocomplete.select", (event, item) => { handleSearch(item) }); $("#searchterm").on("keydown", function (event) { switch (event.key) { case "Enter": handleSearch(this.value); break; default: } }); $("#searchbutton").on("click", () => { handleSearch(document.getElementById("searchterm").value) }) function handleSearch(item) { // headerSearch and authorIndexAutocomplete reference where the two formats come from let headerSearch = item.match(/ \((Q\d+)\)$/); if (headerSearch) { window.location.href = "/" + headerSearch[1]; } else { let authorIndexAutocomplete = item.match(/\/\w+\/Q\d+$/); if (authorIndexAutocomplete) { window.location.href = item; } else { let search_text = item.match(/Show all results for "(.+)"$/) if (search_text) { window.location.href = "/search?q=" + search_text[1]; } else { window.location.href = "/search?q=" + item; } } } } function debounce(callback, wait) { let timeout; return (...args) => { clearTimeout(timeout); timeout = setTimeout(function () { callback.apply(this, args); }, wait); }; } // Add table of content var headings = document.querySelectorAll("h2,h3"); if (headings.length >= 3) { var tocParent = document.createElement("div"); tocParent.className = "table-of-contents" var toc = document.createElement("div"); tocTitle = document.createElement("b"); tocTitle.innerText = "Table of Contents" toc.appendChild(tocTitle) var tocList = document.createElement("ul"); var sublist = ""; for (let i = 0; i < headings.length; i++) { const element = headings[i]; if (!element.id) { element.id = element.innerText.replaceAll(" ", "-"); } if (element.tagName === "H3" && !sublist) { var sublist = document.createElement("ul"); } tocListItem = document.createElement("li"); tocEntry = document.createElement("a"); tocEntry.setAttribute("href", "#" + element.id); tocEntry.innerText = headings[i].innerText; tocListItem.appendChild(tocEntry); if (element.tagName === "H3") { sublist.appendChild(tocListItem); if (i == headings.length - 1) { tocList.appendChild(sublist); } } else { if (sublist) { tocList.appendChild(sublist); sublist = ""; } tocList.appendChild(tocListItem); } } toc.appendChild(tocList) var itemImage = document.createElement("img"); itemImage.id = "item-image"; itemImage.alt = ""; itemImage.href = ""; itemImage.onclick = function () { window.location.href = itemImage.href; }; tocParent.appendChild(toc); tocParent.appendChild(itemImage); document.querySelector("h2").insertAdjacentElement("beforebegin", tocParent) itemImage.height = toc.clientHeight } // Add anchor links to all headings var headers = document.querySelectorAll('h2[id], h3[id]') if (headers) { headers.forEach(element => { var title = element.innerText; element.removeChild(element.childNodes[0]) element.insertAdjacentHTML('afterbegin', `<a href="#${element.id}" class="hlink" ariaLabel="Anchor">${title}</a>`) }) } // class-hierarchy iframe sparqlToIframe2("https://query.wikidata.org/sparql", "https://query.wikidata.org/#", "https://query.wikidata.org/embed.html#", `# tool: scholia #defaultView:Graph PREFIX target: <http://www.wikidata.org/entity/Q41581> SELECT ?child ?childLabel ?rgb ?parent ?parentLabel WITH { SELECT ?child ?rgb ?parent WHERE { { SELECT ?child ?rgb ?parent WHERE { SERVICE gas:service { gas:program gas:gasClass "com.bigdata.rdf.graph.analytics.BFS" ; gas:in target: ; gas:traversalDirection "Forward" ; gas:out ?child ; gas:out1 ?depth ; gas:out2 ?parent1 ; gas:linkType wdt:P279 ; } ?child wdt:P279 ?parent . BIND(IF(?child = target:, "FF0000", "FFFFFF") AS ?rgb) } } UNION { SELECT ?child ?rgb ?parent WHERE { BIND(target: AS ?parent) ?child wdt:P279 ?parent . BIND("DDDDDD" AS ?rgb) } LIMIT 10 } } } AS %results WHERE { INCLUDE %results VALUES ?classes { wd:Q15711994 # group of isomeric entities wd:Q17339814 # group or class of chemical substances wd:Q47154513 # structural class of chemical entities wd:Q55640599 # group of chemical entities wd:Q56256173 # class of chemical entities with similar applications or functions wd:Q56256178 # class of chemical entities with similar source or occurrence wd:Q55662456 # group of ortho, meta, para isomers wd:Q59199015 # group of stereoisomers wd:Q72070508 # group or class of chemical entities wd:Q74892521 # imprecise class of chemical entities } ?parent wdt:P31 ?classes. hint:Prior hint:runFirst TRUE. ?child rdfs:label ?childLabel . FILTER(LANG(?childLabel) = "en") ?parent rdfs:label ?parentLabel . FILTER(LANG(?parentLabel) = "en") }`, "#class-hierarchy-iframe", "chemical-class_class-hierarchy.sparql"); // identifiers table sparqlToDataTable2("https://query.wikidata.org/sparql", "https://query.wikidata.org/#", `# tool: scholia PREFIX target: <http://www.wikidata.org/entity/Q41581> SELECT ?IDpred ?IDpredLabel ?id ?idUrl ?IDpredDescription { target: ?IDdir ?id . ?IDpred wikibase:directClaim ?IDdir ; wdt:P31 wd:Q19833835 . OPTIONAL { ?IDpred wdt:P1630 ?formatterurl . } BIND(IRI(REPLACE(?formatterurl, '\\\\$1', str(?id))) AS ?idUrl). SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],mul,en" . } } ORDER BY ASC(?IDpredLabel) LIMIT 500 `, "#identifiers-table", "chemical-class_identifiers.sparql", options={}); // related-chemicals table sparqlToDataTable2("https://query.wikidata.org/sparql", "https://query.wikidata.org/#", `# tool: scholia PREFIX target: <http://www.wikidata.org/entity/Q41581> SELECT ?mol ?molLabel ?InChIKey ?CAS ?CASUrl ?ChemSpider ?ChemSpiderUrl ?PubChem_CID ?PubChem_CIDUrl WITH { SELECT DISTINCT ?mol WHERE { ?mol wdt:P279* target: . MINUS { [] wdt:P279 ?mol } } LIMIT 500 } AS %result WHERE { INCLUDE %result OPTIONAL { ?mol wdt:P235 ?InChIKey } OPTIONAL { VALUES ?CASIDdir { wdt:P231 } ?mol ?CASIDdir ?CAS . OPTIONAL { ?CASIDpred wikibase:directClaim ?CASIDdir . ?CASIDpred wdt:P1630 ?CASformatterurl . } BIND(IRI(REPLACE(?CASformatterurl, '\\\\$1', str(?CAS))) AS ?CASUrl). } OPTIONAL { VALUES ?IDdir { wdt:P661 } ?mol ?IDdir ?ChemSpider . OPTIONAL { ?IDpred wikibase:directClaim ?IDdir . ?IDpred wdt:P1630 ?formatterurl . } BIND(IRI(REPLACE(?formatterurl, '\\\\$1', str(?ChemSpider))) AS ?ChemSpiderUrl). } OPTIONAL { ?mol wdt:P662 ?PubChem_CID } OPTIONAL { VALUES ?PCIDdir { wdt:P662 } ?mol ?PCIDdir ?PubChem_CID . OPTIONAL { ?PCIDpred wikibase:directClaim ?PCIDdir . ?PCIDpred wdt:P1630 ?PCformatterurl . } BIND(IRI(REPLACE(?PCformatterurl, '\\\\$1', str(?PubChem_CID))) AS ?PubChem_CIDUrl). } SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],mul,en" . } } `, "#related-chemicals-table", "chemical-class_related-chemicals.sparql", options={}); // recent-literature table sparqlToDataTable2("https://query.wikidata.org/sparql", "https://query.wikidata.org/#", `# tool: scholia PREFIX target: <http://www.wikidata.org/entity/Q41581> SELECT ?date ?work ?workLabel ?type ?via ?topics WITH { SELECT DISTINCT (MAX(?dates) as ?datetime) ?work ?via WHERE { { VALUES ?topic { target:} ?work wdt:P921 ?topic . BIND ("main topic" AS ?via) } UNION { ?work wdt:P921 ?topic . ?topic ((^wdt:P361)+) target: . BIND ("part" AS ?via) } UNION { ?work wdt:P921 ?topic . ?topic (wdt:P279* ) target: . BIND ("subclass" AS ?via). FILTER (?topic != target:) } UNION { ?work wdt:P921 ?topic . ?topic (wdt:P1269+ ) target: . BIND ("facet" AS ?via)} UNION { target: ?propp ?statement . ?statement a wikibase:BestRank ; prov:wasDerivedFrom/pr:P248 ?work . BIND ("statement" AS ?via) } OPTIONAL { ?work wdt:P577 ?dateLits . BIND(xsd:date(?dateLits) AS ?dates) } } GROUP BY ?work ?via ORDER BY DESC(?datetime) LIMIT 250 } AS %works WITH { SELECT (MAX(?dates) as ?datetime) ?work (GROUP_CONCAT(DISTINCT ?type_label; separator=", ") AS ?type) ?via (GROUP_CONCAT(DISTINCT ?topic_label; separator=" // ") AS ?topics) WHERE { INCLUDE %works ?work wdt:P921 ?topic . OPTIONAL { ?work wdt:P31 ?type_ . ?type_ rdfs:label ?type_label . FILTER (LANG(?type_label) = 'en') } OPTIONAL { ?work wdt:P577 ?dates . } ?topic rdfs:label ?topic_label . FILTER (lang(?topic_label) = 'en') } GROUP BY ?work ?via } AS %result WHERE { INCLUDE %result BIND(xsd:date(?datetime) AS ?date) SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],mul,en" . } } ORDER BY DESC(?date) LIMIT 500 `, "#recent-literature-table", "chemical-class_recent-literature.sparql", options={}); // publications-per-year iframe sparqlToIframe2("https://query.wikidata.org/sparql", "https://query.wikidata.org/#", "https://query.wikidata.org/embed.html#", `# tool: scholia #defaultView:BarChart PREFIX target: <http://www.wikidata.org/entity/Q41581> # Inspired from LEGOLAS - http://abel.lis.illinois.edu/legolas/ # Shubhanshu Mishra, Vetle Torvik select ?year (count(?work) as ?number_of_publications) where { { select (str(?year_) as ?year) (0 as ?pages) where { # default values = 0 ?year_item wdt:P31 wd:Q577 . ?year_item wdt:P585 ?date . bind(year(?date) as ?year_) { select (min(?year_) as ?earliest_year) where { { ?work wdt:P921/wdt:P279* target: . } union { ?work wdt:P921/wdt:P361+ target: . } union { ?work wdt:P921/wdt:P1269+ target: . } union { target: ?propp ?statement . ?statement a wikibase:BestRank ; prov:wasDerivedFrom/pr:P248 ?work . } ?work wdt:P577 ?publication_date . bind(year(?publication_date) as ?year_) } } bind(year(now()) as ?next_year) filter (?year_ >= ?earliest_year && ?year_ <= ?next_year) } } union { select ?work (min(?years) as ?year) where { { ?work wdt:P921/wdt:P279* target: . } union { ?work wdt:P921/wdt:P361+ target: . } union { ?work wdt:P921/wdt:P1269+ target: . } union { target: ?propp ?statement . ?statement a wikibase:BestRank ; prov:wasDerivedFrom/pr:P248 ?work . } ?work wdt:P577 ?dates . bind(str(year(?dates)) as ?years) . } group by ?work } } group by ?year order by ?year`, "#publications-per-year-iframe", "chemical-class_publications-per-year.sparql"); // found-in-taxon table sparqlToDataTable2("https://query.wikidata.org/sparql", "https://query.wikidata.org/#", `# tool: scholia PREFIX target: <http://www.wikidata.org/entity/Q41581> SELECT ?chemicals ?example_chemical ?example_chemicalLabel (CONCAT("/chemical/", SUBSTR(STR(?example_chemical), 32)) AS ?example_chemicalUrl) ?taxon ?taxonLabel (CONCAT("/taxon/", SUBSTR(STR(?taxon), 32)) AS ?taxonUrl) ?taxonDescription WITH { SELECT DISTINCT (COUNT(DISTINCT(?chemical)) AS ?chemicals) ?taxon (SAMPLE(?chemical) AS ?example_chemical) WHERE { ?chemical wdt:P279* target: ; p:P703 ?taxonStatement . ?taxonStatement ps:P703 ?taxon . } GROUP BY ?taxon ORDER BY DESC(?chemicals) LIMIT 250 } AS %taxons WHERE { INCLUDE %taxons SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],mul,en". } } ORDER BY DESC(?chemicals) `, "#found-in-taxon-table", "chemical-class_found-in-taxon.sparql", options={}); }); </script> </body> </html>