Kinship KGQA Getting started
Open dataset · research quickstart

Explore Kinship.
Follow the evidence.

A small, human-readable knowledge graph with multi-hop questions and annotated reasoning paths. Download the data, inspect the relationships, and get started in a few lines of Python.

24entities
12relations
112KG triples
780QA pairs
Example · 2-hop questionGold path
Victoria
father
Christopher
wife
Penelope

Reference evidence path from the dataset, not a model prediction.

01 · Interactive dataset explorer

Browse real Kinship questions

Explore the published questions, reference answers, and complete entity-relation paths without downloading files or running Python. The labels are already human-readable, so no Wikidata or label service is needed.

Connecting to the Kinship dataset viewer…

Dataset card ↗

The source CSV stores the benchmark train/dev/test split in SplitLabel. The Hugging Face API names its CSV split train.

QA recordsLoading…
Page 1
Select a question to view its answer and gold reasoning path.

Read-only browser: Records come from the public Kinship dataset through the Hugging Face Dataset Viewer API. The browser filters the entire selected QA collection and caches it until you refresh. These are annotated reference paths, not MINERVA predictions. No graph reconstruction or external entity mapping is performed.

02 · Quickstart

Load the dataset in Python

Use huggingface_hub to download the repository snapshot, then load the graph and questions into pandas DataFrames.

Terminal · install once
python -m pip install huggingface_hub pandas

Choose a QA file

Python · copy and run
from pathlib import Path
import pandas as pd
from huggingface_hub import snapshot_download

# Download the Kinship dataset from Hugging Face.
root = Path(snapshot_download(
    repo_id="HalcyonSolutions/Kinship",
    repo_type="dataset",
))

# The original graph is used for navigation.
triples = pd.read_csv(
    root / "kg/orig/triplets.txt",
    sep="\t",
    header=None,
    names=["head", "relation", "tail"],
)

# Load natural-language questions and gold answers.
qa = pd.read_csv(root / "qa/kinship_qa_nhop.csv")

print(triples.head())
print(qa[["Question", "Source-Entity", "Answer-Entity", "Hops"]].head())
The mixed-hop file contains 1-, 2-, and 3-hop questions. The 1-hop questions belong to the training split only.
03 · Dataset structure

What's included?

The repository contains graph triples, QA records with reference paths, and the original Kinship source data. For navigation experiments, use kg/orig/.

Knowledge graph

kg/orig/triplets.txt

All 112 directed triples in tab-separated head, relation, tail format.

Question answering

qa/kinship_qa_*.csv

Questions, start and answer entities, hop counts, reference paths, and split labels.

Graph splits

kg/orig/{train,dev,test}.txt

Split-specific graph triples. The full original graph is provided separately.

Source data

source/kinship.data

The source Kinship data, preserved with its original attribution and license information.

Navigation note: The kg/gender/ graph adds auxiliary gender relations for embedding pretraining. Do not use it for navigation evaluation, since it can introduce shortcut paths.
04 · Evidence paths

Read the annotated reasoning

Every QA record has an explicit source entity and gold path. Paths are stored as string representations of ordered triples in the Paths column.

Reference question2 hops · gold evidence
Who is the wife of the father of Victoria?
Start: Victoria · Answer: Penelope
Victoria— father →Christopher— wife →Penelope
Python · run after the loading example
import ast

# Decode one gold reasoning path.
example = qa.loc[qa["Hops"] == 2].iloc[0]
path = ast.literal_eval(example["Paths"])

print("Question:", example["Question"])
print("Answer:", example["Answer"])
for head, relation, tail in path:
    print(f"{head} --[{relation}]--> {tail}")

# QA split labels are stored in the CSV itself.
test_questions = qa.loc[qa["SplitLabel"] == "test"]
print("Test questions:", len(test_questions))

The example above reads ground-truth annotations. It does not run MINERVA or generate predictions. The QA records use human-readable entity labels.

05 · Continue exploring

Next steps

For navigation experiments, pretrained checkpoints, and methods, follow the companion resources.

Kinship dataset card

Complete field descriptions, splits, license, and citations.

Open ↗
MINERVA implementation

Training, preprocessing, checkpoints, and path-based evaluation.

Guide ↗
THESEUS project

Question-conditioned graph navigation and related resources.

Project ↗
Theseus in the Graph

Research paper describing the KGQA navigation framework.

Paper ↗

License: CC BY 4.0. If you use Kinship, please credit the original Hinton (1986) dataset and the THESEUS work as described on the dataset card.