我有一个实体谓词。"Person“与相关的函数谓词一起存储有关实体的属性。
例如:
Person(x), Person:id(x:s) -> string(s).
Person:dateOfBirth[a] = b -> Person(a), datetime(b).
Person:height[a] = b -> Person(a), decimal(b).
Person:eyeColor[a] = b -> Person(a), string(b).
Person:occupation[a] = b -> Person(a), string(b).我想做的是在终端中执行相当于SQL查询的操作:
SELECT id, dateOfBirth, eyeColor FROM Person我知道print命令可以获得单个函数谓词的详细信息,但我希望得到它们的组合。
lb print /workspace 'Person:dateOfBirth'发布于 2016-05-25 09:31:31
您可以使用"lb query“命令对数据库执行任意logiql查询。实际上,您可以创建一个临时的、匿名的、带有您想要看到的结果的谓词,然后创建一个使用logiql语言填充该谓词的规则。所以在你的情况下,它会是这样的:
lb query <workspace> '_(id, dob, eye) <-
Person(p),
Person:id(p:id),
Person:dateOfBirth[p] = dob,
Person:eyeColor[p] = eye.'发布于 2019-07-21 17:39:33
使用joins尝试查询命令:
lb query /workspace '_(x, y, z) <- Person(p), Person:id(p:x), Person:dateOfBirth[p] = y, Person:eyeColor[p] = z.'
https://stackoverflow.com/questions/37432377
复制相似问题