문서

엣지 & 그래프

버킷 내 벡터 간 타입이 지정된 가중치 관계를 관리하여 지식 그래프를 구축합니다.

Edge API는 노드(벡터) 간 타입이 지정된 가중치 관계를 추가하여 플랫 벡터 버킷을 지식 그래프로 전환합니다. 인용, 계층 구조, 인과 관계, 상충 관계를 모델링할 수 있습니다.

엣지 추가

bashPOST /v1/buckets/{bucket_id}/edges
필드타입기본값설명
edgesEdgeInput[]--추가할 엣지 배열 (최대 10,000개)
edges[].sourcestring--소스 노드(벡터) ID
edges[].targetstring--타겟 노드(벡터) ID
edges[].relationstringrelated_to관계 타입
edges[].weightfloat1.0엣지 가중치 (0.0 ~ 1.0)

사용 가능한 관계 타입: contradicts, supersedes, caused_by, is_a, related_to, has_child, follows.

bashcurl -X POST https://api.schift.io/v1/buckets/{bucket_id}/edges \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SCHIFT_API_KEY" \
  -d '{
    "edges": [
      {"source": "doc-1", "target": "doc-2", "relation": "supersedes"},
      {"source": "doc-3", "target": "doc-1", "relation": "contradicts", "weight": 0.9}
    ]
  }'

엣지 조회

bashGET /v1/buckets/{bucket_id}/edges/{node_id}
쿼리 파라미터타입기본값설명
directionstringbothoutgoing, incoming, 또는 both
relationstring--관계 타입으로 필터링
bash# 노드의 모든 엣지
curl https://api.schift.io/v1/buckets/{bucket_id}/edges/doc-1 \
  -H "Authorization: Bearer $SCHIFT_API_KEY"

# outgoing supersedes 엣지만 조회
curl "https://api.schift.io/v1/buckets/{bucket_id}/edges/doc-1?direction=outgoing&relation=supersedes" \
  -H "Authorization: Bearer $SCHIFT_API_KEY"

엣지 삭제

bashDELETE /v1/buckets/{bucket_id}/edges
bashcurl -X DELETE https://api.schift.io/v1/buckets/{bucket_id}/edges \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SCHIFT_API_KEY" \
  -d '{"source": "doc-1", "target": "doc-2", "relation": "supersedes"}'