KC

kubony/claude-knowledge-graph

Developer tools
48 stars Качество 40 Тренд 40

마크다운 노트를 RDF/TTL 지식 그래프로 변환 - SPARQL 질의로 시맨틱 검색

Обзор

마크다운 노트를 RDF/TTL 지식 그래프로 변환하고 SPARQL로 질의하는 시스템. Claude Code 에이전트를 활용하여 시맨틱 검색을 자동화합니다. - : 인물, 프로젝트, 미팅 정보를 RDF 트리플로 추출 - : 17개 프리셋 쿼리 + 커스텀 쿼리 지원 - : Claude Code로 "John에 대해 알려줘" 같은 질의 - : [[위키링크]]에서 knows/involvedIn 관계 자동 생성 - claude-meeting-notes - 회의록 자동화 - claude-contact-crm - 연락처 CRM

README

Claude Knowledge Graph

마크다운 노트를 RDF/TTL 지식 그래프로 변환하고 SPARQL로 질의하는 시스템. Claude Code 에이전트를 활용하여 시맨틱 검색을 자동화합니다.

주요 기능

  • 마크다운 → TTL 변환: 인물, 프로젝트, 미팅 정보를 RDF 트리플로 추출
  • SPARQL 질의: 17개 프리셋 쿼리 + 커스텀 쿼리 지원
  • 자연어 인터페이스: Claude Code로 “John에 대해 알려줘” 같은 질의
  • 관계 추출: [[위키링크]]에서 knows/involvedIn 관계 자동 생성

빠른 시작

1. 설치

git clone https://github.com/kubony/claude-knowledge-graph.git
cd claude-knowledge-graph
chmod +x setup.sh
./setup.sh

2. 마크다운 파일 추가

인물 파일 (vault/persons/):

---
title: John Doe
tags: [developer, AI]
summary: Senior developer at Acme Corp
contact:
  email: [email protected]
  linkedin: https://linkedin.com/in/john
---

# John Doe

## Meeting Records

### 2024.01.15 Coffee Chat

첫 만남. AI 프로젝트 논의.

프로젝트 폴더 (vault/projects/2401 AI Project/):

---
title: AI Automation
tags: [AI, automation]
summary: AI 자동화 플랫폼 개발
---

# AI Automation

## 2024.01.15 Kickoff

프로젝트 시작. [[John Doe]] 참여.

3. 지식 그래프 생성

source .venv/bin/activate

# 그래프 빌드
python .claude/skills/ontology-engine/scripts/vault_to_ttl.py ./vault

# 질의 실행
python .claude/skills/ontology-query/scripts/query_knowledge.py ./knowledge.ttl --preset all_persons

4. Claude Code 사용

"지식 그래프 빌드해줘"
"John에 대해 알려줘"
"활성 프로젝트 보여줘"
"AI 관련 미팅 찾아줘"

파일 구조

claude-knowledge-graph/
├── .claude/
│   ├── agents/
│   │   └── knowledge-graph-manager.md   # 메인 에이전트
│   └── skills/
│       ├── ontology-engine/             # 변환 스킬
│       │   ├── SKILL.md
│       │   └── scripts/
│       │       └── vault_to_ttl.py
│       ├── ontology-query/              # 질의 스킬
│       │   ├── SKILL.md
│       │   └── scripts/
│       │       └── query_knowledge.py
│       └── ontology-sync/               # 동기화 스킬
│           ├── SKILL.md
│           └── scripts/
│               └── sync_vault.py
├── vault/                               # 마크다운 파일
│   ├── persons/                         # 인물 파일
│   ├── projects/                        # 활성 프로젝트
│   └── archives/                        # 아카이브
├── examples/                            # 예시 파일
├── .env.example
├── requirements.txt
├── setup.sh
└── README.md

추출 규칙

인물 파일

위치: vault/persons/*.md

파일명 패턴: 이름_소속.md → 소속 자동 추출

추출 필드:

필드 소스
Name YAML title / 파일명
Organization 파일명 _소속 부분
Tags YAML tags
Summary YAML summary
Contact YAML contact (email, phone, linkedin 등)
Last Contact YAML last_contact
Meetings ## YYYY.MM.DD 섹션

프로젝트 폴더

위치: vault/projects/*/, vault/archives/*/

폴더명 패턴: YYMM 프로젝트명 또는 YYMMDD 프로젝트명

추출 필드:

필드 소스
Name 폴더명에서 날짜 제외
Date 폴더명의 YYMM/YYMMDD
Tags 내부 파일 YAML tags
Summary 내부 파일 YAML summary
Status active / archived

관계 추출

패턴 관계
[[Person Name]] :knows / :involvedIn
같은 미팅 참석 :participant
프로젝트 내 언급 :relatedTo

프리셋 쿼리

인물 관련

프리셋 설명 파라미터
all_persons 모든 인물 -
person_meetings 인물의 미팅 이름
person_topics 논의 주제 이름
person_projects 참여 프로젝트 이름
person_network 아는 사람들 이름
org_members 조직 소속 조직명

프로젝트 관련

프리셋 설명 파라미터
all_projects 모든 프로젝트 -
active_projects 활성 프로젝트 -
archived_projects 아카이브 -
project_details 상세 정보 프로젝트명
search_projects 키워드 검색 키워드

미팅/기타

프리셋 설명 파라미터
recent_meetings 최근 10개 -
meetings_by_date 특정 월 YYYY-MM
search_keyword 내용 검색 키워드
stats 전체 통계 -

사용 예시

source .venv/bin/activate

# 모든 인물
python .claude/skills/ontology-query/scripts/query_knowledge.py knowledge.ttl \
  --preset all_persons

# 특정 인물 미팅
python .claude/skills/ontology-query/scripts/query_knowledge.py knowledge.ttl \
  --preset person_meetings --param "John"

# 조직 소속
python .claude/skills/ontology-query/scripts/query_knowledge.py knowledge.ttl \
  --preset org_members --param "Acme"

# 활성 프로젝트
python .claude/skills/ontology-query/scripts/query_knowledge.py knowledge.ttl \
  --preset active_projects

# 키워드 검색
python .claude/skills/ontology-query/scripts/query_knowledge.py knowledge.ttl \
  --preset search_keyword --param "AI"

# 통계
python .claude/skills/ontology-query/scripts/query_knowledge.py knowledge.ttl \
  --preset stats

# 대화형 모드
python .claude/skills/ontology-query/scripts/query_knowledge.py knowledge.ttl \
  --interactive

환경 변수

.env 파일:

VAULT_PATH=./vault
OUTPUT_FILE=./knowledge.ttl
PERSONS_DIR=persons
PROJECTS_DIR=projects
ARCHIVES_DIR=archives

요구사항

  • Python 3.10+
  • Claude Code CLI

라이선스

MIT License

관련 프로젝트

View this README on GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add kubony/claude-knowledge-graph