mcpField
P
pygraphistry-connectors

pygraphistry-connectors

github.com/graphistryデータ・データベース338 回インストール今日更新
リポジトリ

pygraphistry-connectors について

PyGraphistry コネクターでグラフデータや表形式データを取り込むためのガイダンスです。データソースに応じたクエリ、DataFrame による取り込み、グラフ分析の進め方を示します。

主な機能

  1. 01グラフ DB、SQL、ログ用コネクターの選択
  2. 02DataFrame を優先した取り込み
  3. 03大規模データの上流フィルタリング
  4. 04環境変数による認証情報の管理
  5. 05グラフクエリと描画のガイダンス

活用シーン

  1. 01グラフ DB やログソース向けコネクターの選定
  2. 02クエリ結果を PyGraphistry に取り込んで可視化
  3. 03描画前の大規模データの絞り込み

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/graphistry/graphistry-skills --skill pygraphistry-connectors

インストール後、Claude Code で/pygraphistry-connectorsを入力して読み込まれたか確認します。

詳細

PyGraphistry コネクター

ドキュメントの案内(ローカル+正式版)

  • 最初に ../pygraphistry/references/pygraphistry-readthedocs-toc.md を確認します。
  • セクション単位のショートカットには ../pygraphistry/references/pygraphistry-readthedocs-top-level.tsv を使用します。
  • 必要なページが見つからない場合に限り、../pygraphistry/references/pygraphistry-readthedocs-sitemap.xml を確認します。
  • 詳細ページを読む前に、まとめて一度検索します。cat * や細かな読み取りを順番に繰り返すことは避けます。
  • ユーザー向けの回答では、正式な https://pygraphistry.readthedocs.io/en/latest/... リンクを優先します。

方針

  • 実用的な場合は、データフレームから取り込み、その後 edges()/nodes() でバインドします。
  • 認証やクエリの動作が特殊な場合は、コネクター固有のノートブックパターンを使用します。
  • 非常に大規模なデータセットでは、プロットの前に上流でフィルタリングや集計を行います。
  • コネクターとGraphistryの認証情報は、環境変数またはシークレットストアに保存し、キーをハードコードしないでください。
  • username='user'/password='pass'/username='...' のようなプレースホルダー値は使用しないでください。os.environ[...] または os.environ.get(...) を使用します。
  • 簡潔なタスクでは、最小限の説明文とコンパクトなコードブロックを1つだけ返します。
  • 簡潔なスニペットでは、プレースホルダー変数ではなく、明示的なプライバシー値('private' または 'organization')を優先します。

コネクターの選定基準

  • トラバーサルを上流で表現するのが最適な場合は、ネイティブのグラフDBコネクター(cypher()、Neptune/TigerGraphのフロー)を使用します。
  • 外部DBを使わず、メモリー上のPyGraphistryグラフに対してローカルのCypher形式クエリを実行する場合は、g.gfql("MATCH ...") を使用します。注:graphistry.cypher() はNeo4j/Memgraph/Neptune向けの別個のコネクターであり、ローカルのGFQL Cypherとは異なります。
  • データソースが表形式またはSIEM中心の場合は、SQL/ログソースからデータを抽出してからPyGraphistryにバインドします。
  • 判断に迷う場合は、まずソースネイティブのクエリからデータフレームを経て edges()/nodes() へ進み、その後コネクターの利用範囲を最適化します。

コネクターの種類

  • グラフDB:Neo4j、Neptune、TigerGraph、Memgraph、Arango。
  • データ/SQL:Databricks、PostgreSQL、Spanner、データウェアハウス形式のパイプライン。
  • ログ/SIEM:Splunk、Kusto、AlienVault。
  • コンピューティング/レイアウトプラグイン:networkx、graphviz、cugraph、igraph、hypernetx。

最小限の例

# Neo4j/Memgraph/Neptune connector (runs query on external DB server)
g = graphistry.cypher('MATCH (a)-[r]->(b) RETURN a,b,r')
g.plot()
# Local Cypher via GFQL (no external DB needed — preferred for local graphs)
g2 = g.gfql("MATCH (a)-[r]->(b) WHERE a.score > 10 RETURN a.id, b.id")
# Graphistry org/service-account auth before connector workflows
graphistry.register(
    api=3,
    org_name=os.environ.get('GRAPHISTRY_ORG_NAME'),
    personal_key_id=os.environ.get('GRAPHISTRY_PERSONAL_KEY_ID'),
    personal_key_secret=os.environ.get('GRAPHISTRY_PERSONAL_KEY_SECRET')
)
# Generic dataframe path after source-specific query/extract
# edges_df: src,dst,...
g = graphistry.edges(edges_df, 'src', 'dst')
graphistry.privacy(mode='private')
plot_url = g.plot(render=False)
# Connector-oriented flow with explicit nodes + focused GFQL slice
# Example source can be Neo4j/Splunk -> dataframe extraction
g = graphistry.edges(edges_df, 'src', 'dst').nodes(nodes_df, 'id')
g_focus = g.gfql([...]).name('connector-slice')
graphistry.privacy(mode='organization')
plot_url = g_focus.plot(render=False)

正式なドキュメント

コメント