pygraphistry-core について
PyGraphistry Core は、Graphistry の Python クライアントでグラフデータを準備するスキルです。登録、グラフとハイパーグラフの構築、可視化列の割り当て、描画、データ整形の確認を扱います。
主な機能
- 01Graphistry 登録の案内
- 02エッジとノードからのグラフ構築
- 03ワイドテーブルからのハイパーグラフ構築
- 04可視化列の割り当てと描画
- 05ETL とデータ品質の確認
活用シーン
- 01取引やエンティティのグラフ準備
- 02表形式データの関係可視化
- 03複数のエンティティ列からのハイパーグラフ構築
- 04グラフのアップロード前のデータ整形
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ graphistry/ graphistry-skills --skill pygraphistry-coreインストール後、Claude Code で/pygraphistry-coreを入力して読み込まれたか確認します。
詳細
PyGraphistry Core
ドキュメントのルーティング(ローカル+正規版)
- まず
../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/...リンクを優先してください。
クイックワークフロー
- Graphistry サーバーに登録します。
- エッジ/ノード(または幅広形式の行からハイパーグラフ)でグラフを構築します。
- 必要に応じて視覚化する列をバインドします。
- プロットして反復します。
最小限の基本構成
import os
import graphistry
graphistry.register(
api=3,
username=os.environ.get('GRAPHISTRY_USERNAME'),
password=os.environ.get('GRAPHISTRY_PASSWORD')
)
認証のバリエーション(組織とキーのフロー)
# Organization-scoped login (SSO or user/pass org routing)
graphistry.register(api=3, org_name=os.environ['GRAPHISTRY_ORG_NAME'], idp_name=os.environ.get('GRAPHISTRY_IDP_NAME'))
# Service account / personal key flow
graphistry.register(
api=3,
personal_key_id=os.environ['GRAPHISTRY_PERSONAL_KEY_ID'],
personal_key_secret=os.environ['GRAPHISTRY_PERSONAL_KEY_SECRET']
)
# edges_df: src,dst,... and nodes_df: id,...
edges_df['type'] = edges_df.get('type', 'transaction')
nodes_df['type'] = nodes_df.get('type', 'entity')
g = graphistry.edges(edges_df, 'src', 'dst').nodes(nodes_df, 'id')
g.plot()
ハイパーグラフの基本構成
# Build graph from multiple entity columns in one table
hg = graphistry.hypergraph(df, ['actor', 'event', 'location'], engine='pandas')
hg['graph'].plot()
ETL 整形チェックリスト
- バインド前に識別子列を正規化します(
src/dst/idの型の一貫性、null の処理)。 - 凡例に適したデフォルト設定と一貫したカテゴリのエンコーディングのため、エッジとノードの両方に単純な
type列を使います。 - 初回アップロードの前に、大量に繰り返される行を重複排除します。
- ノード中心の手順ではノードを実体化します。
g = graphistry.edges(edges_df, 'src', 'dst').materialize_nodes()
実用上の確認事項
- 始点/終点の列が null でなく、正しい型であることを確認します。
- 必要に応じて、ノード中心の操作の前にノードを実体化します(
g.materialize_nodes())。 - 大規模データの初回レンダリングでは、小さなデータ範囲から始めます。
- GFQL の実行で Polars の結果を保持するには、
engine='polars'を明示的に指定します。自動/デフォルトの経路では Polars は選択されません。エンジンの正確なリテラルは'pandas'、'cudf'、'dask'、'dask_cudf'、'polars'、'polars-gpu'、'auto'です。'polars-gpu'はハイフン区切りであり、polars_gpuという表記はありません。 gfql()にstrict=引数はありません。エンジン外での分析ポリシーは、graphistry.compute.gfql.lazy.set_call_mode('auto'|'strict')またはGFQL_POLARS_CALL_MODE環境変数で設定します。エンジンのセクションについてはpygraphistry-gfqlを参照してください。- 現時点では
hypergraph(..., engine='polars'|'polars-gpu')は推奨しないでください。現在の API 注釈には記載されていますが、上流のハイパーグラフフレーム実装には、まだこれらのディスパッチ経路がありません。対応している pandas/cuDF のハイパーグラフエンジンを使い、その後、適切な場合に Polars/Polars-GPU を GFQL の処理に使用してください。 - 近傍の展開やパターンマイニングには、必ず
.gfql([...])または.gfql("MATCH ...")を使います。hop()とchain()メソッドは非推奨です。 - 認証情報は環境変数のみに保存し、ユーザー名/パスワード/トークンをハードコードしないでください。
正規版ドキュメント
- Core 10min:https://pygraphistry.readthedocs.io/en/latest/10min.html
- 登録/認証:https://pygraphistry.readthedocs.io/en/latest/server/register.html
- インストール:https://pygraphistry.readthedocs.io/en/latest/install/index.html
- 分析者/開発者向けノートブック:https://pygraphistry.readthedocs.io/en/latest/notebooks/intro.html
- データの読み込み/整形+AI の組み合わせ:https://pygraphistry.readthedocs.io/en/latest/gfql/combo.html
コメント
Markdown 対応