PageSourceSearch

https://nanopub.net/assets/js/2b785902.0b6a717f.js

js nanopub.net collected 2026-10-02 17:08:02 UTC 5,028 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunknanopub_website=self.webpackChunknanopub_website||[]).push([[806],{7240(n,e,i){i.r(e),i.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"tools","title":"Tools","description":"There are a few existing tools to access and publish nanopublications.","source":"@site/docs/tools.md","sourceDirName":".","slug":"/tools","permalink":"/docs/tools","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedAt":1790752557000,"frontMatter":{"id":"tools","title":"Tools"},"sidebar":"docs","previous":{"title":"Technical Architecture","permalink":"/docs/architecture"},"next":{"title":"Applications","permalink":"/docs/applications"}}');var t=i(4848),a=i(8453);const o={id:"tools",title:"Tools"},r=void 0,l={},c=[{value:"\ud83d\udc69\u200d\ud83d\udcbb User interfaces",id:"-user-interfaces",level:2},{value:"\ud83d\udcda\ufe0f Libraries",id:"\ufe0f-libraries",level:2},{value:"\u2615\ufe0f Java",id:"\ufe0f-java",level:3},{value:"\ud83d\udc0d Python",id:"-python",level:3},{value:"\ud83d\ude80 JavaScript",id:"-javascript",level:3},{value:"\ud83e\ude84 Multi-platform",id:"-multi-platform",level:3},{value:"\ud83d\udd17 Related links",id:"-related-links",level:2}];function h(n){const e={a:"a",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:"There are a few existing tools to access and publish nanopublications."}),"\n",(0,t.jsx)(e.h2,{id:"-user-interfaces",children:"\ud83d\udc69\u200d\ud83d\udcbb User interfaces"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.a,{href:"https://github.com/knowledgepixels/nanodash",children:(0,t.jsx)(e.strong,{children:"Nanodash"})})," is a nanopublication user interface offering easy-to-use\ntemplates for nanopublication creation, custom feeds, and search."]}),"\n",(0,t.jsxs)(e.li,{children:["The ",(0,t.jsx)(e.a,{href:"https://collaboratory.semanticscience.org/",children:(0,t.jsx)(e.strong,{children:"Knowledge Collaboratory"})})," is a service to help annotate biomedical\ntext, publish those annotations as nanopublications, and browse nanopublications."]}),"\n"]}),"\n",(0,t.jsx)(e.h2,{id:"\ufe0f-libraries",children:"\ud83d\udcda\ufe0f Libraries"}),"\n",(0,t.jsx)(e.p,{children:"Libraries in various languages are available to manipulate and publish nanopublications:"}),"\n",(0,t.jsx)(e.h3,{id:"\ufe0f-java",children:"\u2615\ufe0f Java"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.a,{href:"https://nanopublication.github.io/nanopub-java/",children:(0,t.jsx)(e.strong,{children:"nanopub-java"})})," (",(0,t.jsx)(e.a,{href:"https://arxiv.org/abs/1508.04977",children:"paper"}),"): the\nofficial implementation to sign, verify, and publish nanopubs."]}),"\n"]}),"\n",(0,t.jsx)(e.h3,{id:"-python",children:"\ud83d\udc0d Python"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.a,{href:"https://nanopublication.github.io/nanopub-py/",children:(0,t.jsx)(e.strong,{children:"nanopub-py"})}),": a Python implementation to sign, verify, and publish\nnanopubs."]}),"\n"]}),"\n",(0,t.jsx)(e.h3,{id:"-javascript",children:"\ud83d\ude80 JavaScript"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.a,{href:"https://github.com/nanopublication/nanopub-js",children:(0,t.jsx)(e.strong,{children:"nanopub-js"})}),": A TypeScript library for creating, signing,\npublishing, and querying nanopublications."]}),"\n"]}),"\n",(0,t.jsx)(e.h3,{id:"-multi-platform",children:"\ud83e\ude84 Multi-platform"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.a,{href:"https://vemonet.github.io/nanopub-rs/",children:(0,t.jsx)(e.strong,{children:"nanopub-rs"})}),": a comprehensive cross-platform toolkit to sign, publish, and\nverify nanopublications."]}),"\n"]}),"\n",(0,t.jsx)(e.h2,{id:"-related-links",children:"\ud83d\udd17 Related links"}),"\n",(0,t.jsxs)(e.p,{children:["You can find other tools in the GitHub organization: ",(0,t.jsx)(e.a,{href:"https://github.com/Nanopublication/",children:"Nanopublication"})]}),"\n",(0,t.jsxs)(e.p,{children:["More informations about ",(0,t.jsx)(e.a,{href:"http://trustyuri.net/",children:"Trusty URIs on their website"}),"."]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://arxiv.org/abs/1809.06532",children:"See this paper"})," for datasets using nanopublications."]})]})}function u(n={}){const{wrapper:e}={...(0,a.R)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(h,{...n})}):h(n)}},8453(n,e,i){i.d(e,{R:()=>o,x:()=>r});var s=i(6540);const t={},a=s.createContext(t);function o(n){const e=s.useContext(a);return s.useMemo(function(){return"function"==typeof n?n(e):{...e,...n}},[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(t):n.components||t:o(n.components),s.createElement(a.Provider,{value:e},n.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.