我有以下问题,并没有想到没有for循环的方法.
考虑两个矩阵:
a=rand(N,3), b=rand(3,N)
我想得到的是:( b(:, i)*a(i, :)一个3*3矩阵)在所有的第三维中连接起来i.
因此,对于上述示例,结果应该是(3*3*N)矩阵.
在一些FILTER我最终得到2套之后,让我们说A1和A2,我想SELECT只在A1中那些没有出现在A2中的元素.我试图使用MINUS但没有成功.
当我们有类似的东西:
MINUS { ?s foaf:givenName "Bob" }
Run Code Online (Sandbox Code Playgroud)
我们需要事先知道我们想要减去什么.在我的情况下,我不知道任何属性如`foaf:givenName1,除了它们属于集合A2.(这是一个财产思想).
我很迷惑.有任何想法吗?
使用CLARITY示例编辑:
SELECT DISTINCT ?x ?y WHERE {
?x swrc:listAuthor ?y.
?x swrc:author ?w.
FILTER (!regex(?y, " and ")).
?a swrc:listAuthor ?b.
?a swrc:author ?c.
FILTER regex(?b, " and ").
FILTER(?c != ?w).}
Run Code Online (Sandbox Code Playgroud)
所以我想对此做的是以下内容.使用listAuthor,我可以在"John Doe和John Nipper"这样的字符串中获取作者.利用这种格式,我希望让作者单独写一篇论文(在他们的作者列表中没有"和").前3行足够了.但也有一些作者撰写了2篇论文,其中1篇是论文,1篇是共同作者.我尝试以某种方式从第一个中减去它们.有任何想法吗?
我有一些 SPARQL 查询如下所示:
SELECT DISTINCT ?name1
WHERE {
GRAPH <blabla>
{
?k swrc:author ?x .
?x foaf:name ?name1 .
} .
GRAPH <blabla2>
{
?l swrc:author ?y .
?y foaf:name ?name2 .
} .
FILTER(?x != ?y) .
}
Run Code Online (Sandbox Code Playgroud)
我想获取仅存在于第一个图中的名称blabla。
反直觉我得到了一些实际上属于交集的名字。发生这种情况是因为 b(集合 A)= b(集合 B)?
的语义究竟是什么!=?我怎样才能克服这个问题?
关于这个错误的帖子很多,但我无法解决它,我希望你能提出解决方案。我在 Ubuntu 机器上。
〜/ graphmap2 $
在这个文件夹中,我下载了 zlib。你可以看图片
经过一番谷歌搜索后,我还注意到没有-lz参数,所以我还手动添加了它,如下所示
但是,我仍然遇到与未完成上述任何操作时相同的错误。
可能是编译器不清楚 zlib 的路径吗?但是,我将其安装在同一个文件夹中。
make 文件如下所示:
BIN = ./bin/graphmap2
BIN_DEBUG = ./bin/graphmap-debug
BIN_LINUX = ./bin/Linux-x64/graphmap2
BIN_MAC = ./bin/Mac/graphmap
OBJ_TESTING = ./obj_test
OBJ_TESTING_EXT = ./obj_testext
OBJ_DEBUG = ./obj_debug
OBJ_LINUX = ./obj_linux
OBJ_EXTCIGAR = ./obj_extcigar
OBJ_MAC = ./obj_mac
SOURCE = src
CODEBASE = codebase
# This finds all 'src' folders at maximum depth 2 (level one inside each submodule's folder).
CODEBASE_SRC_FOLDERS = $(shell find $(CODEBASE) -maxdepth 2 -type d -name "src" …Run Code Online (Sandbox Code Playgroud)