You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, I encountered an issue while using your method. When there are multiple possible subgraph matching methods, only one result is outputted. May I ask how to view all possible matching results? Below is the test data and output results that I used.
datagraph:
t 5 4
v 0 0 4
v 1 1 1
v 2 2 1
v 3 1 1
v 4 2 1
e 0 1
e 0 2
e 0 3
e 0 4
querygraph
t 3 2
v 0 0 2
v 1 1 1
v 2 2 1
e 0 1
e 0 2
Command Line:
Data Graph CSR:
Data Graph: ../../test/sample_dataset/test_case_1.graph
Query Graph: ../../test/sample_dataset/query1_positive.graph
Filter Type: GQL
Order Type: RI
Engine Type: LFTJ
Output Limit: 100000-filter
Time Limit (seconds): 60
Order Num: 100
Distribution File Path: temp.distribution
Load graphs...
Query Graph Meta Information
|V|: 3, |E|: 2, |Σ|: 3
Max Degree: 2, Max Label Frequency: 1
|V|: 5, |E|: 4, |Σ|: 3
Max Degree: 4, Max Label Frequency: 2
Start queries...
Filter candidates...
Build indices...
Index Info: CoreTable(0), TreeTable(0), LeafTable(2)
LeafTable 0-1: 2
LeafTable 0-2: 2
Total Cardinality: 4.0
Generate a matching order...
Query Plan: 0 1 2
Enumerate...
Release memories...
Load graphs time (seconds): 0.0067
Filter vertices time (seconds): 0.0000
Build table time (seconds): 0.0000
Generate query plan time (seconds): 0.0000
Enumerate time (seconds): 0.0000
Preprocessing time (seconds): 0.0001
Total time (seconds): 0.0001
Memory cost (MB): 0.0001
#Embeddings: 4
Call Count: 3
Per Call Count Time (nanoseconds): 3586.6667
End.
The text was updated successfully, but these errors were encountered:
Sorry for the late reply. I just notice the issue when I check the repository.
You need to add some code to dump the results. For example, if you use the LFTJ enumeration method in EvaluateQuery.cpp, you can output the result by adding a for loop at line 342 as follows:
for (uint32_t x = 0; x < max_depth; ++x) {
std::cout << embedding[x] << ' ';
}
std::cout << '\n';
If you use other enumeration methods, you can output the results with the same method by simply finding the place where embedding_cnt is updated. The array embedding stores the result.
Note that (1) embedding[x] is the data vertex mapped to order[x], and (2) there can be a huge number of results.
Hello, I encountered an issue while using your method. When there are multiple possible subgraph matching methods, only one result is outputted. May I ask how to view all possible matching results? Below is the test data and output results that I used.
datagraph:
t 5 4
v 0 0 4
v 1 1 1
v 2 2 1
v 3 1 1
v 4 2 1
e 0 1
e 0 2
e 0 3
e 0 4
querygraph
t 3 2
v 0 0 2
v 1 1 1
v 2 2 1
e 0 1
e 0 2
Command Line:
Data Graph CSR:
Data Graph: ../../test/sample_dataset/test_case_1.graph
Query Graph: ../../test/sample_dataset/query1_positive.graph
Filter Type: GQL
Order Type: RI
Engine Type: LFTJ
Output Limit: 100000-filter
Time Limit (seconds): 60
Order Num: 100
Distribution File Path: temp.distribution
Load graphs...
Query Graph Meta Information
|V|: 3, |E|: 2, |Σ|: 3
Max Degree: 2, Max Label Frequency: 1
|V|: 5, |E|: 4, |Σ|: 3
Max Degree: 4, Max Label Frequency: 2
Start queries...
Filter candidates...
Build indices...
Index Info: CoreTable(0), TreeTable(0), LeafTable(2)
LeafTable 0-1: 2
LeafTable 0-2: 2
Total Cardinality: 4.0
Generate a matching order...
Query Plan: 0 1 2
Enumerate...
Release memories...
Load graphs time (seconds): 0.0067
Filter vertices time (seconds): 0.0000
Build table time (seconds): 0.0000
Generate query plan time (seconds): 0.0000
Enumerate time (seconds): 0.0000
Preprocessing time (seconds): 0.0001
Total time (seconds): 0.0001
Memory cost (MB): 0.0001
#Embeddings: 4
Call Count: 3
Per Call Count Time (nanoseconds): 3586.6667
End.
The text was updated successfully, but these errors were encountered: