#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ dump_edges_payload_sample.py ----------------------------------- Zeigt einige Beispiel-Payloads aus der {prefix}_edges Collection, um Feldnamen (edge_type, src_note_id, src_id, etc.) zu verifizieren. Nutzung: python3 tests/dump_edges_payload_sample.py --prefix mindnet --n 10 """ import os import sys import json from pathlib import Path try: from qdrant_client import QdrantClient except Exception as e: print(json.dumps({"error": f"qdrant-client not installed: {e}"})) sys.exit(2) def main(argv=None): import argparse ap = argparse.ArgumentParser() ap.add_argument("--prefix", default=os.environ.get("COLLECTION_PREFIX") or os.environ.get("MINDNET_PREFIX") or "mindnet") ap.add_argument("--n", type=int, default=10) args = ap.parse_args(argv) url = os.environ.get("QDRANT_URL", "http://127.0.0.1:6333").strip() api_key = os.environ.get("QDRANT_API_KEY") or None edges = f"{args.prefix}_edges" client = QdrantClient(url=url, api_key=api_key, timeout=30) left = args.n offset = None while left > 0: limit = min(left, 256) pts, offset = client.scroll( collection_name=edges, scroll_filter=None, limit=limit, offset=offset, with_payload=True, with_vectors=False, ) if not pts: break for p in pts: print(json.dumps({"point_id": str(p.id), "payload_keys": list((p.payload or {}).keys()), "payload": p.payload}, ensure_ascii=False)) left -= len(pts) if __name__ == "__main__": main()