在ArangoDB中,似乎有两组用于处理图形的函数。您有一方clear all
close all
origindir = 'c:\yourdirectory';
cd (origindir)
av_files = dir(fullfile('*.mat'));
mymatrix = zeros(24,66,3000,4);
for ifile = 1:size(av_files,1)
filename = av_files(ifile).name;
load(filename)
if ~isempty(str2num(filename(10:11)))
sub_number = str2num(filename(10:11));
else
sub_number = str2num(filename(10));
end
cond_number_str = filename(5);
cond_number = str2double(cond_number_str);
varname = strcat('AA',cond_number_str);
mymatrix(sub_number,:,:,cond_number)=eval(sprintf(varname));
end
for sub = 1:24
varname2 = strcat('newmat',num2str(sub));
eval([sprintf('%s = squeeze(mymatrix(%i,:,:,:));',varname2,sub)])
end
,EDGES
,NEIGHBORS
,TRAVERSAL
及更多(https://docs.arangodb.com/Aql/GraphFunctions.html)。
OTOH有图操作(https://docs.arangodb.com/Aql/GraphOperations.html)似乎具有SHORTEST_PATH
前缀的相同函数以及一些不同的参数,例如GRAPH
,GRAPH_EDGES
, GRAPH_NEIGHBORS
,GRAPH_TRAVERSAL
。
这些之间有什么区别。它们是否用于不同的场景?是否有性能差异等?
答案 0 :(得分:0)
没有一般建议可以选择另一种 - 这取决于您的要求。
EDGES functions可能适用于未由图表模块管理的集合,因此可能在图表查看器中不可见(但您也可以在同时管理的集合中使用它们)。然而,通过不进行图形管理,它具有较小的开销。
The GRAPH_EDGES family是最近的实施。它仅适用于托管图表,您也可以在graph viewer中浏览。正如您已经指出的那样,后者有更多选项可以通过示例等过滤图形。
使用ArangoDB 3,删除了GRAPH_ *系列函数。我们explain in this cookbook如何使用ArangoDB 3中的AQL实现其功能。