Installation instructions
Back to topTo be added...
[Information about how to install, i.e. refer to the Download page as well as the github account]
Back to topModules: Core, CLIconsole, threadleR
Back to topTo be added...
[Information about the overall architecture: Threadle.Core is a core dll, CLIconsole CLI console frontend, threadleR frontend on CLIconsole.]
Threadle.Core
[Describe what Core contains: Models, Methods, Processing, etc.]
Threadle.CLIconsole
[Describe what CLIconsole is: CLI-based frontend running Core, takes CLIconsole commands on input, converts to methods in Core. CLIconsole also has variable space: stores created networks etc. here (i.e. not stored in Core).]
Mention that CLIconsole (with Core) is what most users want - thus preinstalled binaries, build commands etc. However, Core can indeed be used stand-alone, included as dll or embedded as project in existing C# project.
threadleR (R library)
[Describe what threadleR is: frontend to CLIconsole. R library starting CLIconsole and exposing various R functions that sends CLI commands to CLIconsole, receives and translates return values. Easier integration with R. Mention NativeAOT: it is not that (yet).]
Back to topQuick-start basics
Back to top[Provide a quick-start guide on how to work with Threadle. Generate nodeset, network, layers, node attributes; add nodes, edges, edge attributes etc. Load and save.]
Back to topData structures
Back to top[Intro to internal data structures: Nodesets (and internal nodal attributes), and Networks (and internal relational layers). Network: points to a Nodeset. Several Network can point to the same Nodeset; Nodeset independent (unaware of Networks).]
Nodesets
Back to top[Describe what a Nodeset is: storing nodes, essentially collection of unsigned integers. Also manages node attributes. Saving/loading: in essence a data table. In the human-readable format (tsv file): a data table (slightly different column headers). Internally: nodes with and without attributes stored differently.]
Back to topNodal attributes
[Describe node attributes: node attribute definition manager internal to Nodeset. Through nodeset objects: define (and undefine) node attributes: name and value type. Four value types: int, float, bool, char (no strings). Setting, getting, removing node attributes: methods in Nodeset (actual attribute manager private).]
Back to topNetworks
[Describes the Network data structure. Each network refers (one-way) to a nodeset. Networks has layers of relations: either 1-mode or 2-mode. For 1-mode layers: binary or valued, directional or symmetric, with or without selfties. Adding, removing edges, hyperedges, affiliations done by calling Network object (so layers private inside).]
Back to topRelational layers
[Describe layers in more details. Two types: 1-mode and 2-mode. 2-mode: collection of hyperedges, i.e. where each hyperedge represents an affiliation (aka event) in a bipartite/2-mode network. Methods for checkedge and get edge in network for layer: different implementations in 1-mode vs 2-mode. 2-mode networks: never projected, still, clever way to instantaneously obtain all node alters and check edges between nodes; values as if this layer was projected.]
Back to topFile IO: Load, save, import
[Info on loading and saving: implemented in Core, accessible from CLIconsole.]
Back to topUser settings
[Info on user settings: node cache, check multiedges, store outgoing etc. also verbose or not]
Back to topSoftware architecture and class diagram
[Info about technical software architecture and class diagram; more dev-oriented.]
Back to top