⛰️Graph Wiki

Graph Wiki

a proposed project for a knowledge graph wiki engine with a dynamic presentation layer

design goals

  • it's a wiki

    • it's user editable

    • it's hypertext

  • thin data model

    • ideally compatible with an existing wiki

  • user experience is prioritized and tested. everything below is a hypothesis not a goal

    • infinite canvas model

    • infinitely scalable

  • this is a knowledge graph

    • nodes are hypertext elements which can encapsulate graphs they abstract over

    • edges are propositional relations

similar projects

  • nutshell - linear (but recursive!), html based, explanation oriented

  • StretchText - no implementations known?, non-linear (tree), looks html based

  • telescopic text - very minimal, text oriented, focus on creative writing

example

the Internet (text taken from wikidata's internet node)
NODE: the internet is a global system of connected [computer networks](computer-network-subgraph) based on [IP addressing](ip-subgraph) and [routing protocols](routing-subgraph)

PROPOSITIONS: /host for/[www](www-node), /developed by/[DARPA](darpa-node), /preceded by/[ARPANET](arpanet-node)

this is not wikidata

  • context is retained when loading a new node (nodes load/focus/defocus/hide dynamically)

  • text must be richer and more informative without losing node relationality

challenges

  • interleaving text and graphical relationships without spagghetification

    • will likely require thoughtful, regular page repainting on each user-modification to the graph

    • will likely require giving user's powerful tools to move and hide nodes, collapse subgraphs, traverse and zoom through the graph, cycle through focused nodes,

  • entity alignment

    • the same node will exist in multiple portions of a graph (eg TCP may need to be referenced in a section describing server-client connection, as well as in a section describing the OSI model)

    • this presents some challenges for presentation (are nodes duplicated or is there an attempt made to pivot connections around each singular presentation of multiply accessed nodes? if nodes are duplicated, can the user cycle focus through instances of the duplicated node)

    • this presents challenges for data hygiene (some tooling will be necessary to guard against accidental duplication of nodes, and to search for offenders and deduplicate)

  • can an existing wiki be modified at the presentation layer to provide graph functionality?

    • even if this is the case, a data validation layer will likely need to encapsulate an existing wiki's data model

  • hyperlinks must be typed:

    • a hyperlink can be a graph that is abstracted over (in which case an "entrypoint" may need to be specified)

      • this means that a backlink to the abstraction can refer over an entire subgraph

    • a hyperlink can be an external node that satisfies a propositional relationship

questions

  • is a graph a first-class entity?

  • which existing wiki is a good candidate for extension and how?

  • do i need to learn about the semantic web?

  • are propositions first-class?

  • how to interleave plain text and propositions?