2023-06-07 01:31:03 +00:00
<!doctype html>
< html class = "no-js" lang = "en" >
< head > < meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width,initial-scale=1" / >
< meta name = "color-scheme" content = "light dark" > < meta name = "generator" content = "Docutils 0.19: https://docutils.sourceforge.io/" / >
2023-06-09 04:19:31 +00:00
< link rel = "index" title = "Index" href = "genindex.html" / > < link rel = "search" title = "Search" href = "search.html" / > < link rel = "prev" title = "Design Decisions" href = "design.html" / >
2023-06-07 01:31:03 +00:00
< link rel = "canonical" href = "/docs/sketchpad.html" / >
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
< title > Sketchpad - p2p-ld 0.1.0 documentation< / title >
< link rel = "stylesheet" type = "text/css" href = "_static/pygments.css" / >
< link rel = "stylesheet" type = "text/css" href = "_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" / >
2023-06-28 04:35:44 +00:00
< link rel = "stylesheet" type = "text/css" href = "_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" / >
2023-06-07 01:31:03 +00:00
< link rel = "stylesheet" type = "text/css" href = "_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" / >
< style >
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
< / style > < / head >
< body >
< script >
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
< / script >
< svg xmlns = "http://www.w3.org/2000/svg" style = "display: none;" >
< symbol id = "svg-toc" viewBox = "0 0 24 24" >
< title > Contents< / title >
< svg stroke = "currentColor" fill = "currentColor" stroke-width = "0" viewBox = "0 0 1024 1024" >
< path d = "M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z" / >
< / svg >
< / symbol >
< symbol id = "svg-menu" viewBox = "0 0 24 24" >
< title > Menu< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
< line x1 = "3" y1 = "12" x2 = "21" y2 = "12" > < / line >
< line x1 = "3" y1 = "6" x2 = "21" y2 = "6" > < / line >
< line x1 = "3" y1 = "18" x2 = "21" y2 = "18" > < / line >
< / svg >
< / symbol >
< symbol id = "svg-arrow-right" viewBox = "0 0 24 24" >
< title > Expand< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
< polyline points = "9 18 15 12 9 6" > < / polyline >
< / svg >
< / symbol >
< symbol id = "svg-sun" viewBox = "0 0 24 24" >
< title > Light mode< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
< circle cx = "12" cy = "12" r = "5" > < / circle >
< line x1 = "12" y1 = "1" x2 = "12" y2 = "3" > < / line >
< line x1 = "12" y1 = "21" x2 = "12" y2 = "23" > < / line >
< line x1 = "4.22" y1 = "4.22" x2 = "5.64" y2 = "5.64" > < / line >
< line x1 = "18.36" y1 = "18.36" x2 = "19.78" y2 = "19.78" > < / line >
< line x1 = "1" y1 = "12" x2 = "3" y2 = "12" > < / line >
< line x1 = "21" y1 = "12" x2 = "23" y2 = "12" > < / line >
< line x1 = "4.22" y1 = "19.78" x2 = "5.64" y2 = "18.36" > < / line >
< line x1 = "18.36" y1 = "5.64" x2 = "19.78" y2 = "4.22" > < / line >
< / svg >
< / symbol >
< symbol id = "svg-moon" viewBox = "0 0 24 24" >
< title > Dark mode< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< path d = "M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" / >
< / svg >
< / symbol >
< symbol id = "svg-sun-half" viewBox = "0 0 24 24" >
< title > Auto light/dark mode< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< circle cx = "12" cy = "12" r = "9" / >
< path d = "M13 12h5" / >
< path d = "M13 15h4" / >
< path d = "M13 18h1" / >
< path d = "M13 9h4" / >
< path d = "M13 6h1" / >
< / svg >
< / symbol >
< / svg >
< input type = "checkbox" class = "sidebar-toggle" name = "__navigation" id = "__navigation" >
< input type = "checkbox" class = "sidebar-toggle" name = "__toc" id = "__toc" >
< label class = "overlay sidebar-overlay" for = "__navigation" >
< div class = "visually-hidden" > Hide navigation sidebar< / div >
< / label >
< label class = "overlay toc-overlay" for = "__toc" >
< div class = "visually-hidden" > Hide table of contents sidebar< / div >
< / label >
< div class = "page" >
< header class = "mobile-header" >
< div class = "header-left" >
< label class = "nav-overlay-icon" for = "__navigation" >
< div class = "visually-hidden" > Toggle site navigation sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-menu" > < / use > < / svg > < / i >
< / label >
< / div >
< div class = "header-center" >
< a href = "index.html" > < div class = "brand" > p2p-ld 0.1.0 documentation< / div > < / a >
< / div >
< div class = "header-right" >
< div class = "theme-toggle-container theme-toggle-header" >
< button class = "theme-toggle" >
< div class = "visually-hidden" > Toggle Light / Dark / Auto color theme< / div >
< svg class = "theme-icon-when-auto" > < use href = "#svg-sun-half" > < / use > < / svg >
< svg class = "theme-icon-when-dark" > < use href = "#svg-moon" > < / use > < / svg >
< svg class = "theme-icon-when-light" > < use href = "#svg-sun" > < / use > < / svg >
< / button >
< / div >
< label class = "toc-overlay-icon toc-header-icon" for = "__toc" >
< div class = "visually-hidden" > Toggle table of contents sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-toc" > < / use > < / svg > < / i >
< / label >
< / div >
< / header >
< aside class = "sidebar-drawer" >
< div class = "sidebar-container" >
< div class = "sidebar-sticky" > < a class = "sidebar-brand" href = "index.html" >
< span class = "sidebar-brand-text" > p2p-ld 0.1.0 documentation< / span >
< / a > < form class = "sidebar-search-container" method = "get" action = "search.html" role = "search" >
< input class = "sidebar-search" placeholder = "Search" name = "q" aria-label = "Search" >
< input type = "hidden" name = "check_keywords" value = "yes" >
< input type = "hidden" name = "area" value = "default" >
< / form >
< div id = "searchbox" > < / div > < div class = "sidebar-scroll" > < div class = "sidebar-tree" >
2023-06-07 02:11:30 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > Introduction< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "overview.html" > Overview< / a > < / li >
2023-06-09 04:19:31 +00:00
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "comparison/index.html" > Comparison< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-1" name = "toctree-checkbox-1" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-1" > < div class = "visually-hidden" > Toggle navigation of Comparison< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
2023-06-20 02:21:17 +00:00
< li class = "toctree-l2 has-children" > < a class = "reference internal" href = "comparison/p2p/index.html" > P2P< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-2" name = "toctree-checkbox-2" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-2" > < div class = "visually-hidden" > Toggle navigation of P2P< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/p2p/bittorrent.html" > BitTorrent< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/p2p/ipfs.html" > IPFS< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/p2p/hypercore.html" > Dat/Hypercore< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/p2p/spritely.html" > Spritely/Goblin< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l2 has-children" > < a class = "reference internal" href = "comparison/social/index.html" > Social< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-3" name = "toctree-checkbox-3" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-3" > < div class = "visually-hidden" > Toggle navigation of Social< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/social/activitypub.html" > ActivityPub< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/social/ssb.html" > Secure Scuttlebutt< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/social/matrix.html" > Matrix< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/social/at_protocol.html" > AT Protocol/Bluesky< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/social/nostr.html" > Nostr< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/social/xmpp.html" > XMPP< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l2 has-children" > < a class = "reference internal" href = "comparison/ld/index.html" > Linked Data< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-4" name = "toctree-checkbox-4" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-4" > < div class = "visually-hidden" > Toggle navigation of Linked Data< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
2023-06-28 04:35:44 +00:00
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/ld/rdf.html" > RDF and Friends< / a > < / li >
2023-06-20 02:21:17 +00:00
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/ld/solid.html" > SOLID< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/ld/ld_fragments.html" > Linked Data Fragments< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/ld/ld_platform.html" > Linked Data Platform< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/ld/nanopubs.html" > NanoPubs< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l2 has-children" > < a class = "reference internal" href = "comparison/data/index.html" > Data Structures< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-5" name = "toctree-checkbox-5" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-5" > < div class = "visually-hidden" > Toggle navigation of Data Structures< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/data/eris.html" > ERIS< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "comparison/data/dmc.html" > DMC< / a > < / li >
< / ul >
< / li >
2023-06-09 04:19:31 +00:00
< / ul >
< / li >
2023-06-07 02:11:30 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "p2p_concepts.html" > P2P Concepts< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "out_of_scope.html" > Out of Scope< / a > < / li >
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Protocol< / span > < / p >
< ul >
2023-06-09 04:19:31 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "definitions.html" > 1. Definitions< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "protocol.html" > 2. Protocol< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "identity.html" > 3. Identity< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "discovery.html" > 4. Discovery< / a > < / li >
2023-06-19 19:04:24 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "data_structures.html" > 5. Data Structures< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "vocabulary.html" > 6. Vocabulary< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "querying.html" > 7. Querying< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "encryption.html" > 8. Encryption< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "encryption.html#todo" > 9. TODO< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "federation.html" > 10. Federation< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "backwards_compatibility.html" > 11. Backwards Compatibility< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "evolvability.html" > 12. Evolvability< / a > < / li >
2023-06-07 02:11:30 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Ecosystem< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "triplets.html" > Triplets< / a > < / li >
2023-06-19 19:04:24 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "adapter/index.html" > Adapter< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "translation/index.html" > Translation< / a > < / li >
2023-06-07 02:11:30 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Drafting< / span > < / p >
< ul class = "current" >
2023-06-09 04:19:31 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "design.html" > Design Decisions< / a > < / li >
2023-06-07 02:11:30 +00:00
< li class = "toctree-l1 current current-page" > < a class = "current reference internal" href = "#" > Sketchpad< / a > < / li >
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Meta< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "genindex.html" > Index< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "references.html" > References< / a > < / li >
< / ul >
2023-06-07 01:31:03 +00:00
< / div >
< / div >
< / div >
< / div >
< / aside >
< div class = "main" >
< div class = "content" >
< div class = "article-container" >
< a href = "#" class = "back-to-top muted-link" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" >
< path d = "M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z" > < / path >
< / svg >
< span > Back to top< / span >
< / a >
< div class = "content-icon-container" >
< div class = "theme-toggle-container theme-toggle-content" >
< button class = "theme-toggle" >
< div class = "visually-hidden" > Toggle Light / Dark / Auto color theme< / div >
< svg class = "theme-icon-when-auto" > < use href = "#svg-sun-half" > < / use > < / svg >
< svg class = "theme-icon-when-dark" > < use href = "#svg-moon" > < / use > < / svg >
< svg class = "theme-icon-when-light" > < use href = "#svg-sun" > < / use > < / svg >
< / button >
< / div >
< label class = "toc-overlay-icon toc-content-icon" for = "__toc" >
< div class = "visually-hidden" > Toggle table of contents sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-toc" > < / use > < / svg > < / i >
< / label >
< / div >
< article role = "main" >
< section id = "sketchpad" >
< h1 > Sketchpad< a class = "headerlink" href = "#sketchpad" title = "Permalink to this heading" > #< / a > < / h1 >
2023-06-20 02:21:17 +00:00
< section id = "system-components" >
< h2 > System Components< a class = "headerlink" href = "#system-components" title = "Permalink to this heading" > #< / a > < / h2 >
< p > Strictly schematic and keeping track of different pieces. Not indicative of code structure and definitely not final< / p >
< div class = "mermaid" >
graph
subgraph data
direction TB
Schema
Triples
Translation
Codec
end
Schema --> |Models| Triples
Codec < --> |Read/Write| Triples
External[External Data] --> Codec
External --> Translation
Translation < --> |Maps Between| Schema
subgraph peer
direction TB
Identity
Instance
Beacon
end
Identity --> |Has Many| Instance
Beacon --> |Indicates| Identity
Triples --> |Stored By| Instance
subgraph social
Federation
Permissions
Sharding
end
Schema --> |Defines| Federation
< / div > < / section >
< section id = "rough-roadmap" >
< h2 > Rough Roadmap< a class = "headerlink" href = "#rough-roadmap" title = "Permalink to this heading" > #< / a > < / h2 >
< p > Enough to get us to SfN for now…< / p >
< div class = "mermaid" >
gantt
dateFormat YYYY-MM
section Data Modeling and Transfer
Write Container Draft Spec :active, container, 2023-06, 2M
Experiment with basic Networking components :networking, 2023-07, 2M
Translate NWB Schema : trans, after container, 1M
Codec for hdf5 :codec1, after container, 1M
Webseeds with HTTP/S3: webseed, after trans, 1M
< / div > < / section >
< section id = "data" >
< h2 > Data< a class = "headerlink" href = "#data" title = "Permalink to this heading" > #< / a > < / h2 >
< section id = "triple-data-model" >
< h3 > Triple Data Model< a class = "headerlink" href = "#triple-data-model" title = "Permalink to this heading" > #< / a > < / h3 >
< div class = "mermaid" >
erDiagram
TRIPLE {
id subject
id predicate
id object
}
CONTAINER {
str content_hash
str container_hash
str version_hash
str name
id creator
int timestamp
array capabilities
}
CONTAINER ||--|{ TRIPLE : hashes
< / div > < ul class = "simple" >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > content_hash< / span > < / code > - hash of contained triple graph, after resolution< / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > container_hash< / span > < / code > - original hash of < code class = "docutils literal notranslate" > < span class = "pre" > content_hash< / span > < / code > and metadata of container when first created< / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > version_hash< / span > < / code > - the version of this particular instance of the container, excluding < code class = "docutils literal notranslate" > < span class = "pre" > container_hash< / span > < / code > - should be equal to container_hash when first instantiating.< / p > < / li >
< / ul >
< p > Example< / p >
< div class = "mermaid" >
graph TB
Root
Root --> D1Root
subgraph Dataset1
direction TB
D1Root
D1Meta
D1Name
D1Date
D1Etc
D1Root --> D1Meta
D1Meta --> D1Name
D1Meta --> D1Date
D1Meta --> D1Etc
end
Root --> Imported
subgraph Vocabs
Imported[Imported Schema]
Term1
Imported --> Term1
end
< / div > < p > Types of references and means of identifying< / p >
< ul class = "simple" >
< li > < p > Absolute (hash of a container): Containers are the only uniquely identifiable thing in the network. Everything else has to be done relative to them.< / p > < / li >
< li > < p > Relative (resolve against the containing context)< / p > < / li >
< li > < p > Container: < code class = "docutils literal notranslate" > < span class = "pre" > .< / span > < span class = "pre" > -> < / span > < span class = "pre" > pred< / span > < span class = "pre" > -> < / span > < span class = "pre" > obj< / span > < / code > - links that describe the container.< / p > < / li >
< li > < p > External: How to refer to some external but otherwise identifiable thing? eg. How do I identify that I am making a translation layer for < code class = "docutils literal notranslate" > < span class = "pre" > numpy< / span > < / code > when they aren’ t involved with p2p-ld at all? I should be able to use a variety of tactics - eg. I should be able to say < code class = "docutils literal notranslate" > < span class = "pre" > pypi:numpy< / span > < / code > and then in turn identify < code class = "docutils literal notranslate" > < span class = "pre" > pypi< / span > < / code > by URI. If someone else declares it by saying < code class = "docutils literal notranslate" > < span class = "pre" > url:numpy< / span > < / code > and referring to their homepage, for example, then later we can declare those things as equal< / p > < / li >
< / ul >
< p > Resolving Cycles< / p >
< ul class = "simple" >
< li > < p > The identity is the root node of the graph, so do a breath-first< / p > < / li >
< / ul >
< p > Resolving names
How do we go from an external hash to another object? Our peer should be able to hydrate every content hash into an < code class = "docutils literal notranslate" > < span class = "pre" > author:hash< / span > < / code > pair so that our downloading peer knows who to ask about shit. Or if we are the owner of that thing they know they can ask us for an additional container.< / p >
< / section >
< / section >
< section id = "scrap" >
< h2 > Scrap< a class = "headerlink" href = "#scrap" title = "Permalink to this heading" > #< / a > < / h2 >
2023-06-07 01:07:35 +00:00
< p > Just a stub to check if mermaid works< / p >
2023-06-09 04:19:31 +00:00
< div class = "mermaid" >
erDiagram
2023-06-07 01:07:35 +00:00
IDENTITY {
string hash
}
INSTANCE {
string ip
string client
}
BEACON {
string uri
}
IDENTITY ||--o{ INSTANCE : runs
BEACON }o--|{ INSTANCE : links
BEACON }o--|| IDENTITY : represents
2023-06-09 04:19:31 +00:00
< / div > < / section >
2023-06-07 01:31:03 +00:00
< section id = "graph-data-model" >
< h2 > Graph Data Model< a class = "headerlink" href = "#graph-data-model" title = "Permalink to this heading" > #< / a > < / h2 >
< ul class = "simple" >
< li > < p > Triplets< / p > < / li >
< li > < p > Containers< / p > < / li >
< li > < p > Codecs< / p > < / li >
2023-06-07 01:07:35 +00:00
< / ul >
2023-06-07 01:31:03 +00:00
< / section >
2023-06-19 19:04:24 +00:00
< section id = "random-notes" >
< h2 > Random notes< a class = "headerlink" href = "#random-notes" title = "Permalink to this heading" > #< / a > < / h2 >
< ul class = "simple" >
< li > < p > re: < span class = "target" id = "index-0" > < / span > Backlinks - < a class = "reference external" href = "https://lists.w3.org/Archives/Public/public-rdf-comments/2012Jul/0007.html" > https://lists.w3.org/Archives/Public/public-rdf-comments/2012Jul/0007.html< / a > < / p > < / li >
< / ul >
< / section >
2023-06-07 01:31:03 +00:00
< / section >
2023-06-07 01:07:35 +00:00
2023-06-07 01:31:03 +00:00
< / article >
< / div >
< footer >
< div class = "related-pages" >
2023-06-09 04:19:31 +00:00
< a class = "prev-page" href = "design.html" >
2023-06-07 02:11:30 +00:00
< svg class = "furo-related-icon" > < use href = "#svg-arrow-right" > < / use > < / svg >
< div class = "page-info" >
< div class = "context" >
< span > Previous< / span >
< / div >
2023-06-09 04:19:31 +00:00
< div class = "title" > Design Decisions< / div >
2023-06-07 02:11:30 +00:00
< / div >
< / a >
2023-06-07 01:31:03 +00:00
< / div >
< div class = "bottom-of-page" >
< div class = "left-details" >
< div class = "copyright" >
Copyright © 2023, Jonny Saunders
2023-06-07 01:07:35 +00:00
< / div >
2023-06-07 01:31:03 +00:00
Made with < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > and < a class = "muted-link" href = "https://pradyunsg.me" > @pradyunsg< / a > 's
< a href = "https://github.com/pradyunsg/furo" > Furo< / a >
< / div >
< div class = "right-details" >
< / div >
2023-06-07 01:07:35 +00:00
< / div >
2023-06-07 01:31:03 +00:00
< / footer >
2023-06-07 01:07:35 +00:00
< / div >
2023-06-07 01:31:03 +00:00
< aside class = "toc-drawer" >
< div class = "toc-sticky toc-scroll" >
< div class = "toc-title-container" >
< span class = "toc-title" >
On this page
< / span >
< / div >
< div class = "toc-tree-container" >
< div class = "toc-tree" >
< ul >
< li > < a class = "reference internal" href = "#" > Sketchpad< / a > < ul >
2023-06-20 02:21:17 +00:00
< li > < a class = "reference internal" href = "#system-components" > System Components< / a > < / li >
< li > < a class = "reference internal" href = "#rough-roadmap" > Rough Roadmap< / a > < / li >
< li > < a class = "reference internal" href = "#data" > Data< / a > < ul >
< li > < a class = "reference internal" href = "#triple-data-model" > Triple Data Model< / a > < / li >
< / ul >
< / li >
< li > < a class = "reference internal" href = "#scrap" > Scrap< / a > < / li >
2023-06-07 01:31:03 +00:00
< li > < a class = "reference internal" href = "#graph-data-model" > Graph Data Model< / a > < / li >
2023-06-19 19:04:24 +00:00
< li > < a class = "reference internal" href = "#random-notes" > Random notes< / a > < / li >
2023-06-07 01:31:03 +00:00
< / ul >
< / li >
< / ul >
< / div >
< / div >
< / div >
< / aside >
< / div >
< / div > < script data-url_root = "./" id = "documentation_options" src = "_static/documentation_options.js" > < / script >
< script src = "_static/doctools.js" > < / script >
< script src = "_static/sphinx_highlight.js" > < / script >
< script src = "_static/scripts/furo.js" > < / script >
2023-06-28 04:35:44 +00:00
< script src = "_static/design-tabs.js" > < / script >
2023-06-09 04:19:31 +00:00
< script src = "https://unpkg.com/mermaid@10.2.0/dist/mermaid.min.js" > < / script >
2023-06-19 19:04:24 +00:00
< script >
mermaid.initialize({
"startOnLoad":true,
2023-06-20 02:21:17 +00:00
"theme": "dark"
2023-06-19 19:04:24 +00:00
})
< / script >
2023-06-07 01:07:35 +00:00
< / body >
2023-06-07 01:31:03 +00:00
< / html >