如何查询logicblox
How to query logicblox
我有一个实体谓词,例如。 "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'
您可以使用 "lb query" 命令对您的数据库执行任意 logiql 查询。实际上,您创建了一个临时的、匿名的谓词,其中包含您想要查看的结果,然后创建了一个使用 logiql 语言填充该谓词的规则。所以在你的情况下它会是这样的:
lb query <workspace> '_(id, dob, eye) <-
Person(p),
Person:id(p:id),
Person:dateOfBirth[p] = dob,
Person:eyeColor[p] = eye.'
尝试使用连接的查询命令:
lb query /workspace '_(x, y, z) <- Person(p), Person:id(p:x), Person:dateOfBirth[p] = y, Person:eyeColor[p] = z.'
我有一个实体谓词,例如。 "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'
您可以使用 "lb query" 命令对您的数据库执行任意 logiql 查询。实际上,您创建了一个临时的、匿名的谓词,其中包含您想要查看的结果,然后创建了一个使用 logiql 语言填充该谓词的规则。所以在你的情况下它会是这样的:
lb query <workspace> '_(id, dob, eye) <-
Person(p),
Person:id(p:id),
Person:dateOfBirth[p] = dob,
Person:eyeColor[p] = eye.'
尝试使用连接的查询命令:
lb query /workspace '_(x, y, z) <- Person(p), Person:id(p:x), Person:dateOfBirth[p] = y, Person:eyeColor[p] = z.'