问题标签 [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.
rdf - 如何使用颗粒推理器定义基于 RDF 的本体上的语义推理路径和区域?
我创建了一个表示产品结构的复杂本体。我定义了描述产品配置的大多数规则(如果您使用 Part A1,则不能使用 Part B1 --> 您必须选择 Part B2 或 Part B3)。
现在我通过将现有的零件实例分配给它来创建一个产品。我想检查是否可以根据配置规则构建产品。c 如果产品包含 A1 和 B1,则无法构建。
我可以配置一个推理器不检查整个本体,而只检查最近添加的产品,从层次最高的产品实例开始?我应该选择哪个推理器来做到这一点?
编辑
对整个数据集进行推理在执行时间方面的成本很高——如果我知道在哪里进行了更改,我可以设置一个“推理范围”和起点来加速流程吗?
我使用 AllegroGraph 并在 Protege 或 TopBraid Composer 中设计 Ontologies 以将其导出到 RDF 中的 AllegroGraph。TopBraid 有一个内置的推理器 (TopSpin)。
谢谢!!!
sparql - 在 SPARQL 中更改前缀
我创建了一个具有不同前缀(rdf:
, rdfs:
, owl:
, example:
, car:
, bike:
, ...)的本体。我用它们来划分不同的领域和例子。
一小段摘录:
有没有办法将“”更改为PREFIX
例如car:
“ plane:
”,并保持关系:
我仍然需要所有的关系。带有PREFIX
“ car:
”的对象不必替换;PREFIX
用新对象创建新对象并将旧对象保留在数据库中就足够了。
感谢您的任何建议!
sparql - 如何在 SPARQL 查询(联合)中引用不同的存储库?
我想知道存储库中但不包含在其他存储库中的三元组是什么。
但为此,我需要在联合查询中引用这两个存储库。
我正在使用 Allegrograph。
sparql - Gruff 会与 AllegroGraph 以外的其他存储库一起使用吗?
似乎 Gruff 仅适用于 AllegroGraph。
我看过一个演示文稿,它说它可以连接到 SPARQL 端点,但有很多限制,并联系 Franz 以消除其中一些限制。
java - 具有来自不同服务器的存储库的联合存储
我想为 AllegroGraph 中的联合存储创建一个抽象存储库。
我可以连接到存储在不同服务器上的存储库。但是当我尝试使用 federate 函数组合它们时,它会抛出一个错误,它无法在第二台服务器上找到存储库。
我在此链接中发现了相同的问题,但没有帮助。有什么提示吗?
这是我的代码:
java - 具有推理的不同服务器上的存储库的联合存储
我想在 Allegrograph 中创建一个有推理的联合商店;我可以在同一个 Allegrograph 系统中使用 2 个存储库来做到这一点,但是当我尝试使用位于不同服务器上的两个存储库创建联合商店时;方法 server.federate 显示错误。
我尝试使用两种解决方案来解决这个问题:
第一个我使用 virtualRepository 来组合两个存储库,它可以工作,但是当我想从我的 virtualRepository 中获取连接时,它会显示以下错误:代码:
错误 :org.eclipse.rdf4j.repository.RepositoryException: com.franz.agraph.http.exception.AGHttpException: org.apache.commons.httpclient.NoHttpResponseException: The server myserver failed to respond
第二个解决方案我使用Federation Sail 添加我的存储库,它可以工作,但是当我运行我的查询时,即使我调用推理概念也不起作用tupleQuery.setIncludeInferred(true);
编码 :
我不知道是否有任何提示可以解决我的问题,谢谢
rdf - 寓言推理
我正在以 Allegrograph 为例熟悉 RDF 商店。我感兴趣的部分之一是推理。我从这里举了一个例子:https ://franz.com/agraph/support/documentation/6.4.3/agraph-introduction.html并试图让它工作。从图中看来,它似乎遵循逻辑链:
- “有宠物”谓词适用于“哺乳动物”对象。例如,如果有一个三元谓词,则会推断出另一个三元 rdf:type。它由三重 rdfs:range 定义
- “Has Pet”谓词是“Owns”的子属性。例如,如果有一个三元组,就会推断出另一个三元组。它由三重 rdfs:subPropertyOf 定义
- “拥有”谓词适用于“人类”对象。例如,如果有一个三元组,就会推断出另一个三元组 rdf:type。它由三重 rdfs:domain 定义
所以我创建了一个显示在 Franz 网页中的图表。
我希望从这些数据中至少可以推断出两个事实:
- 罗比是哺乳动物
- 扬斯是人
但事情并没有发展到那个地步。我不能说推理根本不起作用。至少我看到了:
- 简斯有宠物罗比
- 詹斯拥有罗比
- MrAasman 有宠物 Robbie
- 奥斯曼先生拥有罗比
- 狗是一种动物
为什么它不推断类型?这是预期的行为吗?
sparql - SPARQL:查询默认图
使用 RDF 查询语言 SPARQL,我试图找到一种方法来对不在命名图中的任何内容进行布尔查询(或任何其他查询)。
在空的命名图中找不到任何关于专门搜索的文档。还尝试用null
、<>
和empty
(无)替换。
sparql - SPARQL:布尔查询的逆结果
如果 RDF 数据库中存在一组三元组,我试图让 SPARQL 返回“false”。我可以通过 ASK 查询返回“真”。
如此处所述,我尝试在 WHERE 中添加 NOT EXISTS { },但这会导致错误。
java - 有没有办法将 Java 服务器中的 GraphQL 查询转换为 SPARQL 查询?
我有一个存储 RDF 数据的 AllegroGraph 数据库。检索这些数据的唯一方法是通过 SPARQL 查询。我拥有的外部 API 是 GraphQL(它将在 Java 服务器中)。有没有办法可以将 GraphQL Java 服务器连接到 AllegroGraph 数据库并运行 SPARQL 查询(可能将 GraphQL 查询转换为 SPARQL)?