This skill enables comprehensive interaction with TigerGraph graph database for storing, querying, analyzing, and managing large-scale knowledge graph data.
TigerGraph is a high-performance distributed graph database platform optimized for:
Use this skill when:
json
{
"host": "http://localhost",
"restpp_port": 9000,
"graph_name": "MyGraph",
"api_token": "your-api-token",
"timeout": 30,
"retry_count": 3
}
ParameterTypeDefaultDescriptionhoststringrequiredTigerGraph server URLrestpp_portinteger9000REST++ API portgraph_namestringrequiredGraph name to work withapi_tokenstringrequiredAuthentication tokentimeoutinteger30Request timeout in secondsretry_countinteger3Number of retriesusernamestringoptionalAlternative authenticationpasswordstringoptionalAlternative authentication
Example Query:
gsql
CREATE QUERY getNeighbors(VERTEX<Person> person) FOR GRAPH MyGraph {
Start = {person};
Result = SELECT t
FROM Start:s -(KNOWS:e)-> Person:t;
PRINT Result;
}
gsql
CREATE QUERY queryName(PARAMETERS) FOR GRAPH graphName {
// Variable declarations
// Pattern matching
// Aggregations
// Output
}
gsql
Start = {Person.*};
Result = SELECT * FROM Start;
gsql
Start = {Person.* UNION Company.*};
Result = SELECT * FROM Start;
gsql
Result = SELECT t
FROM Start:s -(KNOWS:e)-> Person:t;
gsql
Result = SELECT t
FROM Start:s -(KNOWS:e)-> Person:t -(WORKS_AT:e2)-> Company:c;
gsql
Result = SELECT t
FROM Start:s -(KNOWS:e)->* Person:t;
gsql
Result = SELECT COUNT(DISTINCT t)
FROM Start:s -(KNOWS:e)-> Person:t;
gsql
Result = SELECT s.name, COUNT(DISTINCT t)
FROM Start:s -(KNOWS:e)-> Person:t
GROUP BY s.name;
gsql
Result = SELECT *
FROM Start
WHERE age > 25 AND status == "active";
gsql
Result = SELECT s.name, COUNT(DISTINCT t) as cnt
FROM Start:s -(KNOWS:e)-> Person:t
GROUP BY s.name
HAVING cnt > 5;
json
{
"vertices": {
"Person": {
"alice": {
"name": "Alice",
"age": 30,
"email": "alice@example.com"
},
"bob": {
"name": "Bob",
"age": 25,
"email": "bob@example.com"
}
}
}
}
json
{
"edges": {
"Person": {
"alice": {
"KNOWS": {
"Person": {
"bob": {
"since": "2020-01-15"
}
}
}
}
}
}
}
python
connector.load_from_csv(
file_path="data.csv",
vertex_type="Person",
mapping={"name": "Name", "age": "Age"}
)
gsql
RUN QUERY pagerank(max_iterations=100, damping_factor=0.85)
Measures vertex importance in the graph.
gsql
RUN QUERY shortest_path(source_vertex, target_vertex)
Finds shortest path between two vertices.
gsql
RUN QUERY louvain_community(resolution=1.0)
Detects communities/clusters in graph.
gsql
RUN QUERY betweenness_centrality()
Measures vertex betweenness centrality.
Can be defined using GSQL for specific use cases.
python
result = connector.run_query(
query_name="getNeighbors",
parameters={"person": "Alice"}
)
python
result = connector.run_query(
query_name="complexQuery",
parameters={...},
timeout=60
)
python
results = connector.batch_query(
queries=[
{"name": "query1", "params": {...}},
{"name": "query2", "params": {...}}
]
)
ErrorCauseSolutionConnection refusedServer not runningStart TigerGraph serverUnauthorizedInvalid tokenRegenerate API tokenQuery not foundQuery not installedInstall query definitionTimeoutQuery too slowOptimize query, increase timeoutGraph not foundWrong graph nameVerify graph name
✅ Use installed queries for performance
✅ Pre-compile queries instead of dynamic ones
✅ Optimize pattern matching
✅ Use appropriate graph traversal depth
✅ Leverage built-in algorithms
✅ Use batch loading for bulk data
✅ Validate data before loading
✅ Use atomic transactions
✅ Monitor loading progress
✅ Handle duplicates appropriately
✅ Create indexes on frequently queried properties
✅ Monitor query execution plans
✅ Use result streaming for large datasets
✅ Cache frequently accessed data
✅ Distribute computation across nodes
✅ Design schema for query patterns
✅ Use appropriate data types
✅ Maintain referential integrity
✅ Document schema changes
✅ Version schema updates
✅ Use built-in graph algorithms
✅ Tune algorithm parameters
✅ Monitor resource usage
✅ Implement incremental updates
✅ Cache algorithm results
✅ Partition data appropriately
✅ Use distributed loading
✅ Monitor cluster health
✅ Balance load across nodes
✅ Plan capacity growth
✅ Protect API tokens
✅ Use HTTPS connections
✅ Implement access control
✅ Audit all operations
✅ Encrypt sensitive data
✅ Monitor database health
✅ Regular backups
✅ Update software regularly
✅ Archive old data
✅ Clean up temporary data
LibraryPurposepyTigerGraphOfficial Python SDKrequestsHTTP clientjsonJSON handling
bash
pip install pyTigerGraph requests
Using this skill enables:
✅ Performance - High-speed graph processing at scale
✅ Analytics - Advanced graph algorithms and analytics
✅ Scalability - Enterprise-scale knowledge graph processing
✅ Real-Time - Real-time graph computations
✅ Flexibility - Support for complex graph patterns
✅ Reliability - Enterprise-grade reliability and backup
✅ Integration - Easy integration with applications
python
connector = TigerGraphConnector()
connector.connect(config)
result = connector.run_query("queryName", params)
connector.close()
python
# Insert vertices
connector.insert_vertices(vertex_type, vertices)
# Insert edges
connector.insert_edges(edge_type, edges)
# Run algorithm
connector.run_algorithm("pagerank", params)
# Get statistics
stats = connector.get_statistics()
python
connector.load_from_csv(file_path, vertex_type, mapping)
connector.batch_insert(vertices, edges)
Version: 1.0.0
Last Updated: April 12, 2026