gitwtfhub

wtf is signalgraph?

zhiliscope/signalgraph — explained in plain English

Analysis updated 2026-05-18

14PythonAudience · developerComplexity · 2/5LicenseSetup · easy

TL;DR

A pure Python tool that extracts explicit relationships from text using fixed rules and turns them into a queryable, exportable knowledge graph.

Mindmap

mindmap
  root((SignalGraph))
    What it does
      Extracts relationships
      Builds knowledge graph
      Rule based not AI
    Tech stack
      Pure Python
      No dependencies
      CLI interface
    Use cases
      Connect scattered facts
      Path and neighbor queries
      JSON and Markdown export
    Features
      Deterministic rules
      Source sentence evidence
      Depth limited subgraphs
    Audience
      Python developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Turn a batch of articles or notes into a connected relationship graph you can query.

REASON 2

Find the shortest path between two entities mentioned across scattered documents.

REASON 3

Export extracted relationships to JSON or a readable Markdown report.

What's in the stack?

Python

How it stacks up

zhiliscope/signalgraph0c33/agentic-aiadennng/stock_strategy_lab
Stars141414
LanguagePythonPythonPython
Setup difficultyeasyhardhard
Complexity2/54/54/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

No dependencies to install, just clone and run with Python 3.9 or newer.

Free to use, modify, and distribute for any purpose, including commercial use.

Wtf does this do

SignalGraph is a Python tool that reads plain text or Markdown documents and pulls out explicit relationships between things mentioned in the text, turning scattered sentences into a connected knowledge graph. Given input like Microsoft invested in OpenAI, OpenAI created GPT, GPT powers ChatGPT, it produces a set of linked facts that can be explored, queried, and exported instead of staying as separate isolated statements. Unlike tools that rely on a language model to guess relationships, SignalGraph uses fixed, rule-based logic to find a specific list of relationship types, including released, created, developed, invested_in, uses, works_with, part_of, related_to, and powers. Every extracted relationship keeps the original sentence it came from, along with which sentence number it appeared in and the first four-digit year found in that sentence, used as a rough timestamp. Because the rules are fixed and repeatable rather than model generated, the same input always produces the same output, and results can be traced back to exactly the sentence that produced them. Once entities and relationships are extracted, they are stored in an in-memory directed graph that supports looking up entities by name, ID, or type, finding the shortest path between two entities, listing incoming or outgoing neighbors, and building smaller connected subgraphs limited to a chosen depth. Basic statistics about the graph, such as how many entities and relationships exist and which entities are isolated, can also be calculated. Results can be exported to JSON for reuse in other programs or to Markdown for a readable report, and previously exported JSON can be reloaded and validated. SignalGraph is pure Python with no third-party runtime dependencies and no calls to external AI models or services, so it runs directly from a cloned copy of the repository with Python 3.9 or newer. It is used through a command line interface with subcommands for analyzing text or files, finding paths and neighbors in a saved graph, printing statistics, and exporting subgraphs. The project is marked as an early, alpha stage release and is licensed under MIT.

Yoink these prompts

Prompt 1
Explain how SignalGraph extracts relationships like invested_in and created from text.
Prompt 2
Walk me through analyzing a text file and exporting the graph to JSON with the CLI.
Prompt 3
Show me how to find the shortest path between two entities in a SignalGraph JSON file.
Prompt 4
Help me understand why SignalGraph's extraction is deterministic instead of model based.

Frequently asked questions

wtf is signalgraph?

A pure Python tool that extracts explicit relationships from text using fixed rules and turns them into a queryable, exportable knowledge graph.

What language is signalgraph written in?

Mainly Python. The stack also includes Python.

What license does signalgraph use?

Free to use, modify, and distribute for any purpose, including commercial use.

How hard is signalgraph to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is signalgraph for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.