问题标签 [allegrograph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
semantic-web - 定义 AllegroGraph 三元组的规则以及如何应用它们
我正在使用 AllegroGraph 来存储这样的语句:
我想在这个语句上定义一个规则:如果主题 newsid1 hasAnnotation
为 Gamma
or Beta
,则在三重存储中添加一个新语句,表示该主题 hasAnnotation Theta
,即语句
我的问题如下:
- 如何为 Allegro 定义这样的规则?
- 如何将这些规则应用于语句?
prolog - AllegroGraph 检查现有的三元组
我正在使用 AllegroGraph 4。我有一个三元组商店,并且只有在它们不存在时才尝试添加新的三元组。
这是我的 Prolog 查询:
alfas 检查条件(工作正常)并a--
定义如下:
我也试过这样定义它:
但是无论如何都会添加三元组,无论它是否已经存在。为什么?
sparql - 如何定义 SPIN 规则?
我正在使用 AllegroGraph 4.4。我有他们关于肯尼迪家谱的样本数据库输入。我从他们关于 SPIN 的教程中复制了一个示例。这里是:
问题是我不知道在哪里以及如何注册这个函数。我已经尝试过 WebView,但出现此错误:
为什么我不断收到此错误?
我应该在哪里定义规则?
geospatial - AllegroGraph POINT 函数
我正在使用 AllegroGraph 的 SparQL 地理空间扩展。但是我在使用 POINT 功能时遇到了麻烦。
当我对半径中的点使用 HAVERSINE 函数时,我无法给出自定义点。但是,如果我得到一个人的地理位置并将其提供给 HAVERSINE 函数,它就可以工作:
以下不起作用:
它给出了以下错误:
执行查询失败:未定义三元函数列表
我做错了什么还是 AllegroGraph 有问题?
nosql - 图数据库中的图算法执行
使用图形数据库执行的遍历或最短路径等图形算法在哪里?它们是在数据库服务器本身上执行还是在客户端执行?在后一种情况下,似乎有必要为每个迭代步骤向服务器发送请求。
Noe4j 提供了遍历和最短路径的算法。是否有任何其他图形数据库另外提供最大流量算法?
python - 来自 AllegroGraph Python API 的 Prolog 查询中的 OWL 推理
我注意到,在这里的 AllegroGraph Python API 教程中,每当他们想使用 OWL 推理时,他们都会使用该conn.getStatements
方法而不是发出 Prolog 或 SPARQL 查询。是否可以通过发出 Prolog 或 SPARQL 查询而不是使用该conn.getStatements
方法从 OWL 推理器中推断出三元组?我尝试了一个 Prolog 查询:
(select (?x ?y) (q ?x !ex:owned-by ?y))
我将所有的定义为并且在我的商店中owl:inverseOf ex:owns
有三重奏,但我没有得到任何结果。ex:someone ex:owns ex:something
我确实从 using 中得到了结果conn.getStatements
,所以我是否遗漏了 Prolog 查询中的一些重要内容?
prolog - Allegrograph 地理空间 Prolog 查询
我有一些三元组代表几个城市的位置。我希望能够触发 Prolog 查询,例如
但我收到此错误:
Server returned 400: attempt to call '#:geo-distance/3' which is an undefined function.
我想了解如何在 Prolog 查询中使用地理空间推理方法,例如geo-distance
(我认为它是内置的,因为他们在这里使用它。但这不是真的吗?),因为这对我和我来说目前都是一个谜还没有找到任何这样做的好例子。
我正在使用 Python API,顺便说一句,在Python API 教程中,他们使用该getStatements
方法在某个半径的圆内检索三元组。我希望能够在 Prolog 查询中通过 Python API 而非 AllegroCL 执行此类操作——我想构建 Web 应用程序,但我不知道如何在 AllegroCL 中执行此操作,但我知道如何在 Python 中使用。
python - SWI-Prolog 语义 Web 库和 Python 接口
我想编写一个使用 Prolog 查询 RDF 三元组的 Python Web 应用程序。我发现pyswip用于将 Python 与 SWI-Prolog 连接起来,我目前正在研究 SWI-Prolog 的 RDF 功能。我想知道是否有人以前尝试过这个——如果有人尝试过:你的设置是什么样的?你如何让 pyswip 与 SWI-Prolog 语义网络库一起工作?或者是否有另一个 Python-Prolog 接口可以让这更容易?
编辑:
我实际上找到了一个非常好的解决方案。我之前使用 AllegroGraph 3.3 Python API 对 RDF 数据进行 Prolog 查询,但我认为他们对 Allegro Common Lisp 的 Prolog 扩展有点缺乏,因为它缺少诸如数字比较运算符之类的东西。从那以后,我尝试了 AllegroGraph 4.6,我发现他们的 Prolog 扩展中缺少的任何东西都可以通过以下事实来弥补:您可以使用lisp
转义函子编写 Allegro Common Lisp 表达式来处理您需要做的任何事情由 Prolog 扩展提供。由于某种原因,当我使用 AllegroGraph 3.3 Python API 时没有定义这个函子,但显然 Allegro 的开发人员从那时起已经走了很长一段路。
我建议任何想要构建一个使用 Prolog 查询 RDF 数据的 Python Web 应用程序的人。它超级快速且超级强大。
sparql - AllegroGraph 查询计划
是否可以在 AllegroGraph 中查看用于评估 SPARQL 查询的查询执行计划(类似于EXPLAIN
)。