首页 文章
  • 2 votes
     answers
     views

    Datomic的递归Datalog查询确实很慢

    我目前正在评估Datomic的存储和查询形成本体的解析符号的用例 . 总共有225122个符号(实体)在数据库中(因此它是一个相当大的本体,但对于数据库来说不应该是一个大问题) . 结构非常标准,符号有 包含它们的父符号(如子符号等) supersymbols(他们继承的符号) 为了能够很好地访问这些符号,我们为每个符号都有一个唯一的 name . 这相当于以下Datomic架构: ...
  • 0 votes
     answers
     views

    为什么以下Datalog程序等效?

    对于一些existentional谓词a,b为什么这样: q(X,Y) <-- a(X,Y), q(Z,Y) q(X,Y) <-- b(X,Y) 相当于: q(X,Y) <-- a(X,Y), b(Z,Y) q(X,Y) <-- b(X,Y) ?为什么顶级递归不能继续扩展?
  • 0 votes
     answers
     views

    数据记录 - 查找重复项

    我想创建一个约束来过滤nxn矩阵中的所有重复行,其中每个字段由0或1组成 . 矩阵最多可以是10x10行和列 . 例如 . 我们有以下4x4矩阵: 0 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 然后第1行和第3行是相同的,这是不可能的 . 我一直在想这个问题4个小时,但没有运气 . 有人可以给我一个提示吗?
  • 2 votes
     answers
     views

    如何在数据记录规则体中表达通用量词?

    我想在谓词规则的主体中使用通用量词,即类似的东西 A(x,y)< - ∀B(x,a),C(y,a) . 这意味着只有当C(y, a )中的每个 a ,B(x, a )始终具有匹配(x, a )的x时,则A(x,y)为真 . 因为在Datalog中,默认情况下,规则体中包含的每个变量都是存在量词, a 也是一个存在量词 . 我应该怎样做才能在谓词规则体中表达通用量词? 谢谢 . 附:我使用...
  • 2 votes
     answers
     views

    数据记录中未定义的谓词错误

    所以我目前正在学习数据记录 . 我启动它并键入以下内容: parent(john, michael). 并立即给出一个未定义的谓词错误 . 根据我的理解,这应该是在模拟数据库中定义关系的正确方法 . 怎么了?我在网上狩猎,什么都找不到 . 我正在使用没有GUI的Windows 64位版程序
  • 0 votes
     answers
     views

    查询Datalog的唯一性?

    对于其中一个变量只有一个值的事实,对于其他变量的每个可能值,是否有可能在Datalog中编写查询? 例如找到所有 X ,这样 expr(X, Y) 中每个 Y 只有一个 X
  • 0 votes
     answers
     views

    单独使用Datalog,有可能吗?

    我目前正在课堂上研究Datalog的报告,我只需要讨论基本语法和一个基本的例子 . 我知道Datalog通常用作查询语言,通常只用于其他语言,如Java,Lua,C等,但是只能单独教授Datalog,或者我是否需要使用另一种语言来实现它展示一个简单的工作程序?
  • 0 votes
     answers
     views

    数据记录中的构建顺序

    我正在使用带有否定的数据记录版本 . 我正在尝试编写一个程序来分配关系中每行的序列号 . 例: 鉴于一些EDB items("a", "b") items("a", "c") items("b", "b") 我希望能够生成以下IDB,为 items 中的每一行分配一个序列值: i...
  • 1 votes
     answers
     views

    球拍数据记录 - 数据记录与否定?

    球拍的数据记录(https://docs.racket-lang.org/datalog)是否支持'datalog with negation'?
  • 1 votes
     answers
     views

    Datalog中是否存在不存在的问题?

    假设我为函数定义了一些值: +(value[1] == "cats") +(value[2] == "mice") 是否可以定义如下函数? (undefined[X] == False) <= (value[X] == Y) (undefined[X] == True) <= (value[X] does not exist) 我的猜测是它...
  • 2 votes
     answers
     views

    寻找数据记录包含实用程序

    给定两个Datalog程序 P1,P2 我正在寻找任何编程语言中的实用程序/库,如果 P1 contained in P2 则返回一个布尔值 .
  • 3 votes
     answers
     views

    not子句如何在Datomic中工作?

    我试图找到两个输入之间的纬度 . 我的查询: (defn- latlngs-within-new-bounds [db a w] (d/q '[:find ?lat :in $ ?a ?w :where [ ?e :location/lat ?lat] [(>= ?lat ?a)] (not ...
  • 0 votes
     answers
     views

    如何实现基本的Datalog解释器?

    我正在寻找一个关于如何为学习目的实现基本Datalog解释器的好教程 . 我发现了很多论文,讨论如何使它们更快或添加一些功能但没有描述如何实现基本功能 .

热门问题