기술 노트
온톨로지 입문 안내서 두 권을 무료로 공개합니다
「처음 만나는 온톨로지」와 「처음 만나는 Neo4j와 GraphRAG」. 가상 공장 예제 하나로 RDF·OWL·SPARQL·SHACL부터 GraphRAG까지 직접 돌려 봅니다. PDF, CC BY 4.0.
온톨로지를 처음 공부하는 데이터 실무자를 위해 입문 안내서 두 권을 썼습니다. 둘 다 PDF로 받을 수 있고, CC BY 4.0으로 배포합니다. 출처(OntoCraft)를 밝히면 누구나 나누고 고쳐 쓸 수 있습니다.
- 처음 만나는 온톨로지 · PDF 34쪽 · 1.1MB
- 처음 만나는 Neo4j와 GraphRAG · PDF 48쪽 · 1.9MB
누구를 위한 안내서인가
데이터를 다루지만 온톨로지는 처음인 실무자입니다. 엑셀, SQL, 파이썬 정도를 써 본 사람이면 읽을 수 있습니다. 1권을 끝까지 읽으면 작은 온톨로지를 직접 적고, 질의하고, 검증할 수 있습니다. 2권을 마치면 그 온톨로지를 그래프 데이터베이스에 넣고, 로컬 LLM이 그 그래프를 근거로 답하게 만들 수 있습니다.
예제는 하나로 이어집니다
두 권의 모든 장이 「가상 공장 A」의 설비 정비 데이터 하나로 이어집니다. 펌프 두 대, 모터 한 대, 베어링 두 개, 고장 모드 하나, 작업 지시 두 건, 진동 측정 세 건이 전부입니다. 이름과 값은 모두 지어낸 것입니다.
일부러 오류도 두 개 넣었습니다. 대상 설비가 빠진 작업 지시와, 숫자 대신 「높음」이라고 적힌 진동값입니다. 1권 7장에서 SHACL로, 2권 5장에서 Cypher로 이 오류를 찾습니다.
책에 실은 실행 결과는 부록의 예제 파일을 실제로 돌려 얻은 것입니다. 1권은 rdflib, pySHACL, owlrl로, 2권은 Neo4j 5.26과 Ollama(qwen2.5:7b)로 돌렸습니다. LLM이 쓴 문장은 모델과 환경에 따라 달라질 수 있습니다.
1권: 처음 만나는 온톨로지
| 장 | 다루는 것 |
|---|---|
| 1~3 | 왜 온톨로지인가, 무엇으로 이루어지나, 역량 질문으로 범위 정하기 |
| 4~5 | RDF와 Turtle로 적기, RDFS와 OWL로 계층과 추론 붙이기 |
| 6~7 | SPARQL로 묻기, SHACL로 검증하기 |
| 8~9 | 남이 만든 온톨로지 다시 쓰기, 속성 그래프와 LLM과의 관계 |
| 10~11 | 흔한 실수 열 가지, 다음 걸음 |
| 부록 | 용어, 참고 문헌, 예제 파일 전문 |
2권: 처음 만나는 Neo4j와 GraphRAG
| 장 | 다루는 것 |
|---|---|
| 1~3 | 왜 속성 그래프인가, Neo4j 띄우기, 1권의 온톨로지를 속성 그래프로 옮기기 |
| 4~5 | Cypher로 묻기, 품질 검사를 Cypher로 |
| 6~8 | RAG와 GraphRAG, GraphRAG 실습, Text-to-Cypher |
| 9 | 무엇을 재야 하나: 정답률만이 아니라 답의 근거가 맞는지까지 |
| 10~11 | 흔한 실수 열 가지, 다음 걸음 |
| 부록 | 용어, 참고 문헌, 예제 파일 전문과 실행 결과 |
2권 실습에는 Docker, Neo4j 5.26 Community, Python 3.11 이상, Ollama가 필요합니다. 모두 내 컴퓨터에서 돌아가며, 실습 데이터를 바깥 서비스로 보내지 않습니다.
이 안내서가 다루지 않는 것
각 장 끝에 「이 장이 닿지 않는 곳」을 따로 적었습니다. 예를 들어 OWL의 기술 논리와 추론의 계산 복잡도, Neo4j 운영 환경의 백업·클러스터·권한 관리는 다루지 않습니다. RDF와 속성 그래프 가운데 무엇이 낫다고도 말하지 않습니다. 둘 중 무엇이 맞는지는 답해야 할 질문이 정합니다.
함께 쓰면 좋은 것
- 온톨로지는 무엇이고, 언제 필요할까: 1권 1~3장을 짧게 줄인 글입니다.
- 온톨로지 공학 용어: 안내서에 나오는 용어의 한국어 표제어와 영어 대응어, 정의입니다.
- 온톨로지 검사기: 직접 만든 OWL 파일을 브라우저 안에서 검사합니다. 파일은 서버로 보내지 않습니다.
틀린 곳이나 더 알고 싶은 것이 있으면 묻고 답하기에 남겨 주십시오.
도움이 되었다면 좋아요를 눌러주세요