HivePaaS
Docker Swarm 기반 오픈소스 자체 호스팅 PaaS, SSL·백업·자동 확장 지원
Typed, signed, labeled property graph for Obsidian: openCypher queries, edge properties, LadybugDB mirror, vector search, GraphRAG and MCP.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Obsidian links say that two notes are related, not how. Typed Graph lets one line say how:
---
type: Person
---
knows:: [[Bob]] {since: 2020, label: "met at NeurIPS"}
works_at:: [[Acme]]
-distrusts:: [[Mallory]]
Then you can ask the vault questions in openCypher, inside any note:
```graph-query
MATCH (p:Person)-[c:contributes]->(proj:Project)
RETURN p.title AS person, proj.title AS project, c.hours AS hours
ORDER BY hours DESC
```
type:: [[Target]] {props} works like Graph Link Types, so your existing lines keep working. A - prefix makes an edge negative, and edges can have stable or pinned ids.type gives a note its labels. A note in Types/ declares a type's properties, allowed edges, template and look.MATCH, OPTIONAL MATCH, WITH, aggregates, variable-length paths and path variables. Queries are read-only and errors are clear.subtitle: billing draws specs/billing/spec.md as spec — billing, so notes that share a file name stay apart. It is a separate view. Obsidian's core Graph view is left unchanged, but you can color types there yourself with groups such as [type:Person] (see the docs)..adoc files are typed notes too: properties in a leading //// block or :tg-*: attributes, edges in // @tg: cites:: [[Source]] comments, so Asciidoctor renders the file exactly as before. See the docs.{{edge: Alice -knows-> Bob . since}} shows an edge's property inside your prose.The screenshots come from the live demo, which runs the plugin's own query engine, schema styling and renderer in your browser.
Volland/typedgraph.main.js, manifest.json and styles.css from the latest release into <vault>/.obsidian/plugins/typed-graph/, reload Obsidian, and enable the plugin.The plugin works on desktop and mobile, and it never modifies your notes.
type: Person to a note's frontmatter.knows:: [[Bob]] {since: 2020}.graph-query block with MATCH (a:Person)-[r:knows]->(b) RETURN a, r, b.Try the demo vault: download typed-graph-demo-vault.zip, unzip it and open the folder as a vault. The plugin is preinstalled. Open Start Here for a tour and a hands-on Cypher manual. From a clone, npm run example:install builds the plugin into example/ instead.
The full guide covers edge syntax, schema notes, styling precedence, the Cypher subset, embeds and settings: typedgraph.org/docs.html.
tg@typedgraph/cli is a standalone command line, a drop-in replacement for lat.md that also links code into the typed graph. It reads the same lat.md/ folder and gives the same check verdicts (a test compares it with lat check on real projects).
npx @typedgraph/cli init # set up: pick agents, parts and docs folder in a terminal, then it writes
npx @typedgraph/cli init --dry-run # only print the diff of what it would change
tg check # links, code refs, annotations, index files, section structure
tg search "how are edges signed" # lexical by default; hybrid with TG_EMBED_PROVIDER or a key
tg section "edge-syntax#Sign"
tg cypher "MATCH (s:Section)-[:references]->(t:Section) RETURN s.title, t.title LIMIT 5"
tg export ./out --vault ~/vault # vault notes to a lat.md folder (lossy, with a report)
tg import ../project/lat.md # adopt a lat.md folder (--mount to symlink)
Code points at docs with // @lat: [[section]] (a plain link) or a typed edge, // @tg: implements:: [[auth#Login]] {since: 2}. tg mcp serves the same commands to agents over MCP. In Obsidian, Code in the graph (settings or the Graph view dropdown) shows annotated symbols as nodes without writing anything to the vault. Design: lat.md/cli.md.
packages/sidecar is a headless service over a read-only copy of your vault. It needs no Obsidian. It offers REST, an MCP server, a LadybugDB mirror, local vector search and GraphRAG.
npm install && npm run build:sidecar
claude mcp add typed-graph \
-e OBSIGRAPH_VAULT=/path/to/vault -e OBSIGRAPH_DATA=/path/to/data \
-- node packages/sidecar/dist/server.mjs --stdio
The MCP tools are cypher_query, vector_search and graphrag_retrieve, all read-only. For REST endpoints, Docker and environment variables, see the sidecar docs.
packages/core edge parser, graph model, schemas, styles, openCypher engine, embeddings (no Obsidian APIs)
packages/plugin the Obsidian plugin
packages/sidecar headless REST + MCP service, LadybugDB mirror, vector index, conformance suite
site/ the website and live demo (GitHub Pages)
lat.md/ architecture and test specs (lat.md)
openspec/ specs and archived changes (OpenSpec)
npm install
npm run verify # typecheck + tests + lat check
OBSIGRAPH_OUT="<vault>/.obsidian/plugins/typed-graph" npm run build # build the plugin into a vault
npm run site:build && npx serve site # preview the website
npm run version:bump -- 0.5.0. This updates manifest.json, versions.json and every package version.git tag 0.5.0 && git push origin 0.5.0. The tag has no v prefix.main.js, manifest.json and styles.css to the GitHub release.Obsidian takes submissions through its web directory, not through pull requests. community-plugins.json in obsidianmd/obsidian-releases is only a mirror of it.
Volland/typedgraph repository. The directory reads README.md, LICENSE and the root manifest.json, and installs from the GitHub release tagged with the manifest version.npm run version:bump, then push the tag).MIT © Volodymyr Pavlyshyn. Not affiliated with Obsidian or LadybugDB.