@prefix this: . @prefix sub: . @prefix xsd: . @prefix dcterms: . @prefix rdfs: . @prefix ns2: . @prefix ns1: . @prefix prov: . @prefix ns4: . @prefix ns3: . sub:Head { this: a ns1:Nanopublication; ns1:hasAssertion sub:assertion; ns1:hasProvenance sub:provenance; ns1:hasPublicationInfo sub:pubinfo . } sub:assertion { a ; dcterms:isPartOf ; rdfs:label "In which programming languages is nanopublication-related tooling available?"; ns4:hasContent """

Reference libraries for working with nanopublications are currently available in four programming languages:

  • Java — the original and most complete implementation, including the nanopub command-line tool used for validating, signing, publishing, and retracting nanopublications.
  • Python — a client for fetching, creating, signing, and publishing nanopublications.
  • JavaScript / TypeScript — for use in browser-side and Node.js applications.
  • Rust — a more recent implementation focused on performance and portability.

Beyond these libraries, larger components of the ecosystem are written predominantly in Java, including Nanodash (the main web interface), the Nanopub Registry, and Nanopub Query. Since the Registry and Query services expose HTTP REST APIs, nanopublications can also be fetched, queried, and inspected from any programming language with a basic HTTP client — no dedicated library required.

""" . } sub:provenance { sub:assertion prov:wasAttributedTo . } sub:pubinfo { this: dcterms:created "2026-07-16T11:40:38Z"^^xsd:dateTime; dcterms:creator ; dcterms:license ; ns3:hasNanopubType ; ns3:introduces ; ns3:supersedes ; rdfs:label "FAQ: In which programming languages is nanopublication-related tooling available?"; ns2:wasCreatedFromProvenanceTemplate ; ns2:wasCreatedFromPubinfoTemplate , , ; ns2:wasCreatedFromTemplate . sub:sig ns3:hasAlgorithm "RSA"; ns3:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; ns3:hasSignature "KVHdEY3GKk0anHUCsxJXD3qFbRdf7GZTrPctfEmsMskhPzeqlNXOAli0uwzBIxfM3x+UUrKTp3oR+P5/8ZxxVkKK0WA24o0kkYHco9vDv6z8szSI9qUKYqNKOTJjShVjuPo03RbJP85jbsF8ZVrCW1SrTHj7TE+BHmXe6q8MiWU="; ns3:hasSignatureTarget this:; ns3:signedBy . }