[ { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/Head", "@graph": [ { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/pubinfo", "@graph": [ { "@id": "https://orcid.org/0000-0002-1267-0234", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Tobias Kuhn" } ] }, { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k", "http://purl.org/dc/terms/created": [ { "@value": "2026-07-15T06:44:19Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/licenses/by/4.0/" } ], "http://purl.org/nanopub/x/embeds": [ { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/get-biochementity-info" } ], "http://purl.org/nanopub/x/supersedes": [ { "@id": "https://w3id.org/np/RA-nCGvmh7Euq3SJlMWepvPMIHGoSMBBvvKIQOTiHXRC0" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get biochementity info" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate": [ { "@id": "https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate": [ { "@id": "https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate": [ { "@id": "https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } ] }, { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "hwhqR6jKJuTs+eFfEhEfEo6Tr6zlb5LtvsdRKohl48Nha6FcR0FLNtLsuJsUqHG5Z9QehhddgT+rF8d+8soe7ZPa4i7QH2jQVSqmAjJHrxIl9ektgrsO9jZAQtP31isHUIb4cI6bOv4YF/7TMMVoe0dZmdsIeIUbaMZgBy+MT7g=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/provenance", "@graph": [ { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAW0JENi2rtOGy9c6oXceysd2B0a_LXVZ3PiP_8QaWM9k/get-biochementity-info", "http://purl.org/dc/terms/description": [ { "@value": "Key-value Info table for a biochementity (a chemical entity defined as a subclass of BioChemEntity). Finds the entity's latest defining nanopub ('partid', signed by an owning-resource member pubkey 'pubkey', not invalidated) and shows every field the biochementity template allows: the name (and its Dutch nl-be variant), alternative names, type, superclasses, metabolite/isomer relations, chemical roles, external identifiers, group labels, context-specific aliases, comment, the vocabulary it is part of, and the defining nanopub. Literal values go in one column; IRI values go in a linked column with a companion label column (linked entities defined on the network are shown by their label). Multi-valued properties are collected into one cell; rows for optional fields are omitted when absent." } ], "http://purl.org/dc/terms/license": [ { "@id": "http://www.apache.org/licenses/LICENSE-2.0" } ], "@type": [ "https://w3id.org/kpxl/grlc/grlc-query" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get biochementity info" } ], "https://w3id.org/kpxl/grlc/endpoint": [ { "@id": "https://w3id.org/np/l/nanopub-query-1.1/repo/full" } ], "https://w3id.org/kpxl/grlc/sparql": [ { "@value": "prefix rdf: \nprefix rdfs: \nprefix dct: \nprefix schema: \nprefix skos: \nprefix owl: \nprefix obo: \nprefix pehterms: \nprefix np: \nprefix npa: \nprefix npx: \n\nselect ?Property_noheader ?Property_label\n (group_concat(distinct replace(str(?textval), '[\\r\\n]+', ' '); separator='\\n') as ?Value_multi_noheader)\n (group_concat(?iri; separator=' ') as ?Link_multi_iri_noheader)\n (group_concat(replace(str(?iriLabel), '[\\r\\n]+', ' '); separator='\\n') as ?Link_label_multi)\nwhere {\n {\n select ?ord ?Property_noheader ?Property_label ?textval ?iri (min(?iriLabelRaw) as ?iriLabel) where {\n values ?__pubkey_multi {}\n graph npa:graph {\n ?dnp npa:hasValidSignatureForPublicKeyHash ?__pubkey_multi ;\n (npx:introduces|npx:describes|npx:embeds) ?_partid_iri ;\n dct:created ?ddate ;\n np:hasAssertion ?da .\n filter not exists { ?inv npx:invalidates ?dnp ; npa:hasValidSignatureForPublicKeyHash ?__pubkey_multi . }\n filter not exists {\n ?dnp2 npa:hasValidSignatureForPublicKeyHash ?pk2 ;\n (npx:introduces|npx:describes|npx:embeds) ?_partid_iri ;\n dct:created ?ddate2 .\n filter not exists { ?inv2 npx:invalidates ?dnp2 ; npa:hasValidSignatureForPublicKeyHash ?pk2 . }\n filter(?ddate2 > ?ddate)\n }\n }\n {\n graph ?da { ?_partid_iri rdfs:label ?v . filter(lang(?v) = '') }\n bind(1 as ?ord) bind(rdfs:label as ?Property_noheader) bind('Name:' as ?Property_label)\n bind(str(?v) as ?textval)\n } union {\n graph ?da { ?_partid_iri rdfs:label ?v . filter(lang(?v) = 'nl-be') }\n bind(2 as ?ord) bind(rdfs:label as ?Property_noheader) bind('Name (Dutch):' as ?Property_label)\n bind(str(?v) as ?textval)\n } union {\n graph ?da { ?_partid_iri schema:alternateName ?v }\n bind(3 as ?ord) bind(schema:alternateName as ?Property_noheader) bind('Alternative names:' as ?Property_label)\n bind(if(lang(?v) = 'nl-be', concat(str(?v), ' (nl)'), str(?v)) as ?textval)\n } union {\n graph ?da { ?_partid_iri rdf:type ?iri }\n bind(4 as ?ord) bind(rdf:type as ?Property_noheader) bind('Type:' as ?Property_label)\n bind(replace(str(?iri), '^.*[/#]', '') as ?iriLabelRaw)\n } union {\n graph ?da { ?_partid_iri rdfs:subClassOf ?iri }\n optional { graph npa:graph { ?vnp npx:introduces ?iri ; np:hasAssertion ?vaa . } graph ?vaa { ?iri rdfs:label ?vlab . filter(lang(?vlab) = '') } }\n bind(5 as ?ord) bind(rdfs:subClassOf as ?Property_noheader) bind('Subclass of:' as ?Property_label)\n bind(coalesce(?vlab, replace(str(?iri), '^.*[/#]', '')) as ?iriLabelRaw)\n } union {\n graph ?da { ?_partid_iri pehterms:isMetaboliteOf ?iri }\n optional { graph npa:graph { ?vnp npx:introduces ?iri ; np:hasAssertion ?vaa . } graph ?vaa { ?iri rdfs:label ?vlab . filter(lang(?vlab) = '') } }\n bind(6 as ?ord) bind(pehterms:isMetaboliteOf as ?Property_noheader) bind('Is metabolite of:' as ?Property_label)\n bind(coalesce(?vlab, replace(str(?iri), '^.*[/#]', '')) as ?iriLabelRaw)\n } union {\n graph ?da { ?_partid_iri pehterms:isIsomerOf ?iri }\n optional { graph npa:graph { ?vnp npx:introduces ?iri ; np:hasAssertion ?vaa . } graph ?vaa { ?iri rdfs:label ?vlab . filter(lang(?vlab) = '') } }\n bind(7 as ?ord) bind(pehterms:isIsomerOf as ?Property_noheader) bind('Is isomer of:' as ?Property_label)\n bind(coalesce(?vlab, replace(str(?iri), '^.*[/#]', '')) as ?iriLabelRaw)\n } union {\n graph ?da { ?_partid_iri obo:RO_0000087 ?iri }\n bind(8 as ?ord) bind(obo:RO_0000087 as ?Property_noheader) bind('Has role:' as ?Property_label)\n bind(replace(str(?iri), '^.*[/#]', '') as ?iriLabelRaw)\n } union {\n graph ?da { ?_partid_iri skos:exactMatch ?iri }\n bind(9 as ?ord) bind(skos:exactMatch as ?Property_noheader) bind('External identifiers:' as ?Property_label)\n bind(replace(str(?iri), '^.*/', '') as ?iriLabelRaw)\n } union {\n graph ?da { ?_partid_iri pehterms:hasGroupLabel ?v }\n bind(10 as ?ord) bind(pehterms:hasGroupLabel as ?Property_noheader) bind('Group labels:' as ?Property_label)\n bind(str(?v) as ?textval)\n } union {\n graph ?da { ?_partid_iri pehterms:hasContextAlias ?ca . }\n optional { graph ?da { ?ca schema:alternateName ?caName } }\n optional { graph ?da { ?ca schema:identifier ?caType } }\n optional { graph ?da { ?ca pehterms:hasContext ?caCtx } }\n bind(11 as ?ord) bind(pehterms:hasContextAlias as ?Property_noheader) bind('Context aliases:' as ?Property_label)\n bind(concat(coalesce(str(?caName), '?'), coalesce(concat(' (', str(?caType), ')'), ''), coalesce(concat(' @ ', replace(str(?caCtx), '^.*/', '')), '')) as ?textval)\n } union {\n graph ?da { ?_partid_iri schema:comment ?v }\n bind(12 as ?ord) bind(schema:comment as ?Property_noheader) bind('Comment:' as ?Property_label)\n bind(str(?v) as ?textval)\n } union {\n graph ?da { ?_partid_iri dct:isPartOf ?iri }\n optional { graph npa:graph { ?vnp npx:introduces ?iri ; np:hasAssertion ?vaa . } graph ?vaa { ?iri rdfs:label ?vlab . filter(lang(?vlab) = '') } }\n bind(13 as ?ord) bind(dct:isPartOf as ?Property_noheader) bind('Part of:' as ?Property_label)\n bind(coalesce(?vlab, replace(str(?iri), '^.*[/#]', '')) as ?iriLabelRaw)\n } union {\n graph npa:graph { ?iri np:hasAssertion ?da . }\n bind(14 as ?ord) bind(npa:viaNanopub as ?Property_noheader) bind('Defined in:' as ?Property_label)\n bind(substr(replace(str(?iri), '^.*/np/', ''), 1, 10) as ?iriLabelRaw)\n }\n } group by ?ord ?Property_noheader ?Property_label ?textval ?iri\n }\n}\ngroup by ?ord ?Property_noheader ?Property_label\norder by ?ord" } ] } ] } ]