thelets/opendoor-knowledge-graph
Opendoor Financial Event Knowledge Graph — pipeline data The gitignored data/ tree of the Prototyping-Financial-Knowlege-Graph repository, published so a second machine can regenerate the graph without re-fetching EDGAR. This dataset is the data half only. The code, configuration, ontology and recorded provider answers live in the repository. Read Reproducing the graph before use — at the commit this snapshot was taken from, the repository alone cannot project this run, and the… See the full description on the dataset page: https://huggingface.co/datasets/thelets/opendoor-knowledge-graph.
Opendoor Financial Event Knowledge Graph — pipeline data
The gitignored data/ tree of the Prototyping-Financial-Knowlege-Graph repository, published so a second machine can regenerate the graph without re-fetching EDGAR.
This dataset is the data half only. The code, configuration, ontology and recorded provider answers live in the repository. Read Reproducing the graph before use — at the commit this snapshot was taken from, the repository alone cannot project this run, and the reason is recorded below rather than left to be discovered.
Anchor company: Opendoor Technologies Inc. (CIK 0001801169, Nasdaq: OPEN). Source: SEC EDGAR.
What is here
994.5 MiB across 2,755 files (1,042,852,388 bytes). Every path keeps its repository-relative name, so downloading into the repository root puts each file where the pipeline expects it.
data/ is only two files away from being the graph's whole input: graph.core.inputs.load_run opens the extraction run directory and normalization_catalog/{passages,documents}.jsonl, and nothing else. Everything above those two rows exists so earlier stages can be replayed.
Deliberately excluded
data/ was scanned for credential patterns before upload; the only provider record in any manifest is a local model filename (Qwen3.5-9B-Q4_K_M.gguf) with provider_calls_permitted: 0.
Corpus and run facts
All values below are read from the shipped manifests, not restated from repository docs.
Ontology: real_estate_marketplace_v1, definition_hash 337e0e59534da0d2eb3235152af3d48f0510cdb391feed27956a4e80b0858af2. Extraction code commit: c59818e4a775103c94f3438306c051b66ef54387.
The extraction run replays 15 recorded provider answers rather than calling a model (mode: replay_only). The answers are committed in the repository at benchmarks/extraction/v1/answers/, so extraction is reproducible offline — no API key, no model download.
Getting the data
The repository is private, so a read token is required (https://huggingface.co/settings/tokens).
pip install huggingface_hub
hf auth login # paste a read token
cd /path/to/Prototyping-Financial-Knowlege-Graph
hf download thelets/opendoor-knowledge-graph --repo-type=dataset --local-dir .--local-dir . writes data/... directly into the repository root, which is where config/*.yaml expects it. provenance/, README.md and MANIFEST.sha256 land beside it and are not read by any pipeline stage.
Verify the transfer
sha256sum -c MANIFEST.sha2562,755 lines, all OK. The manifest is independent of the per-run manifests, which carry their own catalog_digests — checking both proves the run is internally consistent and that it arrived whole.
Reproducing the graph
The graph projection will refuse to run against a clean clone of commit `c59818e`. This is a measured fact, not a caution:
graph/core/manifest.py:171 compares the loaded ontology's definition_hash against the one the extraction run recorded and raises GraphInputError — "the vocabulary changed under a finalized run" — when they differ. They differ:
The run was produced from a working tree carrying uncommitted changes to ontology/versions/real_estate_marketplace_v1/definitions/{claims,constraints,events}.yaml (+80 lines) and to graph/core/models.py, where GRAPH_PROJECTION_VERSION is 1.2.0 uncommitted against 1.1.0 at c59818e. Since the graph run id derives from (projection_version, extraction_run_id, ontology_definition_hash) (graph/core/manifest.py:137), a clean clone would compute a different run id even if the hash gate were passed.
Two ways forward:
- Preferred — publish the code. Commit and push branch
impl/f0-factual-spine-contracts, then check it out on the second machine. The ontology YAML and the projection-version bump travel with it, both discrepancies disappear, andgraph-v1-eeba753149e9reprojects byte-for-byte. - Interim.
provenance/ontology_definitions/holds all 12 definition YAML files as they were when the run was produced — the hash covers the whole directory, so the full set ships rather than only the three that changed. Copying them overontology/versions/real_estate_marketplace_v1/definitions/restoresdefinition_hash 337e0e59…and satisfies the gate. This does not restore theGRAPH_PROJECTION_VERSIONbump, so the projection succeeds but mints a run id that is notgraph-v1-eeba753149e9. Use it to read the shipped graph, not to claim reproduction.
Loading the shipped nodes.jsonl / edges.jsonl into Neo4j needs neither workaround — that output is already projected.
Provenance and licensing
Source documents are SEC EDGAR filings by Opendoor Technologies Inc., retrieved 2026-07-31. US government edicts and EDGAR submissions are not subject to copyright in the United States; the filings themselves are public disclosure. Raw bytes and original filenames are preserved exactly, and every artifact carries a hash, a source URL and a fetch timestamp.
The derived layers — normalized passages, extraction catalogs, the ontology, and the projected graph — are the work of this project. license: other is declared because the archive mixes public-source documents with project-authored derivations rather than because any part is restricted.
Extraction is imperfect by construction: this run holds 17,130 issues and 49 rejected claims, and rejected_claims.jsonl carries pre-validation model output that was refused. Nothing in rejected_claims.jsonl should be read as fact. None of this is investment advice.
