Karate Club dataset
This notebook shows the classic Zachary Karate Club network loaded into both NetworkXGraph and Neo4jGraph using the shared loader in cvcdocdb.exemples.
Dataset notes:
34 members
classic community-detection benchmark
clubattribute is used to build club nodes
[ ]:
import importlib.util
# Comprovació de presència del paquet
package_to_check = 'cvcdocdb'
spec = importlib.util.find_spec(package_to_check)
if spec is None:
print(f'⚠️ {package_to_check} no està instal·lat. Iniciant instal·lació...')
%pip install -q --upgrade cvcdocdb
print("✅ Instal·lació completada. L'estat del kernel PODRIA requerir un reinici.")
else:
print(f'✅ {package_to_check} ja està present al sistema. Saltant instal·lació.')
[7]:
import os
from cvcdocdb import Neo4jGraph, NetworkXGraph
from cvcdocdb.exemples import load_karate_club
def neo4j_config(default_target="DEV"):
target = os.environ.get("NEO4J_TARGET", default_target).upper()
prefix = f"NEO4J_{target}_"
return {
"target": target,
"url": os.environ.get(f"{prefix}URL", os.environ.get("NEO4J_URL", "bolt://localhost:7687")),
"user": os.environ.get(f"{prefix}USER", os.environ.get("NEO4J_USER", "neo4j")),
"password": os.environ.get(f"{prefix}PASSWORD", os.environ.get("NEO4J_PASSWORD", "secret")),
"database": os.environ.get(f"{prefix}DATABASE", os.environ.get("NEO4J_DATABASE", "neo4j")),
}
NetworkXGraph
[8]:
nx_graph = NetworkXGraph()
nx_stats = load_karate_club(nx_graph)
print("NetworkX stats:", nx_stats)
print("NetworkX nodes:", len(nx_graph.get_nodes()))
print("NetworkX edges:", len(nx_graph.get_edges()))
nx_graph.close()
NetworkX stats: {'members': 34, 'clubs': 2, 'interacts': 78, 'member_of': 34}
NetworkX nodes: 36
NetworkX edges: 112
Neo4jGraph
[ ]:
cfg = neo4j_config()
print("Using Neo4j target:", cfg["target"])
neo4j_graph = Neo4jGraph(
url=cfg["url"],
user=cfg["user"],
password=cfg["password"],
database=cfg["database"],
)
try:
neo4j_stats = load_karate_club(neo4j_graph)
print("Neo4j stats:", neo4j_stats)
finally:
neo4j_graph.close()
[ ]: