问题标签 [stardog]
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.
jena - 运行 Stardog 示例,构建问题
我变得非常沮丧。我整个周末都在尝试学习语义网络编程,但我一无所获。似乎没有任何东西可以建造或工作。
我是使用 maven 和 gradle 的新手,但我已经遵循了所有步骤。
尝试构建 stardog 示例代码
https://github.com/clarkparsia/stardog-examples
但是当我运行 gradle 命令时,它说
“未定义 Stardog 存储库的 URL,在 gradle.properties 中设置属性 'stardogRepo'。
我什至找不到 gradle.properties。到处看 =/ 它也不在 gradle 文件夹中。
任何帮助将不胜感激
maven - Stardog 和 sesame 依赖项的 Maven 工件问题
我有一个程序,通过 Eclipse 在 maven 项目中开发,它提供了一个 ETL 服务,它摄取数据,使用 Jena API 生成海龟格式 RDF,并将其加载到需要使用 Sesame API 发送给它的数据的三重存储中。因此,我需要将 ETL 服务创建的语句从 Jena 转换为 Sesame。
我想使用 Stardog 的以下类,因为它正是我需要做的。我尝试将以下依赖项添加到我的 pom.xml 以解决该问题:
但我收到以下错误:
缺少工件 com.complexible.stardog:shared:jar 2.2.2
缺少工件 org.openrdf.sesame:sesame:jar:2.7.12
缺少工件 com.complexible.stardog:api:jar.2.2.2
我还在上述依赖项的打开依赖项标记上收到错误,说其中包含的依赖项也丢失了。
注意:stardog.version = 2.2.2 和 sesame.version = 2.7.12。
有任何想法吗?
java - 以编程方式在 Stardog 中添加自定义规则
我可以使用以下 CLI 命令将自定义规则添加到 Stardog 中的命名图:
是否有可能通过 Java API 执行此操作,例如使用AdminConnection
类?
java - 触发 Stardog 规则的 SPARQL 查询
我正在尝试自定义 Stardog 规则。自定义规则基本上如下所示:
我已经使用以下 java 代码上传了这个 ttl 文件:
由于我想将规则保存在单独的图表中,因此我已在http://url/rules
图表中加载了规则三元组。默认图,tag:stardog:api:context:default
在 Stardog 中表示,包含本体公理。当我使用以下 SPARQL 查询时,Stardog 规则按预期工作:
您可能想知道现在出了什么问题。我想我对 FROM 和 FROM NAMED 子句的理解有误。当我离开FROM <http://url/rules>
查询时,我期望查询没有结果。然而,我仍然得到与原始查询一样的结果。这怎么可能?这就是我对这些条款的看法:
FROM <tag:stardog:api:context:default>
:使用默认图中的本体公理FROM <http://url/rules>
:使用此特定查询中的规则FROM NAMED <http://url/datasource>
:实际需要查询的数据
所以我重复我的问题,为什么当我将第二个 FROM 子句排除在 SPARQL 查询之外时,我会得到正确的结果?仅供参考,我一直在使用推理类型 SL。
在@user1538695 回答后编辑
当我在模式(TBox)中保留规则时,我仍然需要添加FROM <tag:stardog:api:context:default>
我的查询。我只想查询一个命名图并使用模式进行推理。如果不必明确提及默认图(模式),这难道不是可能的吗?这是我当前查询的样子:
sparql - Stardog 规则不会触发
我无法编写正确的 Stardog 规则。由于我还没有找到验证规则语法的方法,所以我现在不知道它是语法错误还是逻辑错误。无论哪种方式,启用推理时似乎都不会触发规则(reasoning=SL
在版本 2 中,reasoning=true
在版本 3 中)。
我正在尝试使用以下 SPARQL 查询触发规则:
lucene - 如何让 Stardog 在其搜索中使用词干提取?
我使用 Stardog 作为语义图数据库。例如,我的数据库包含“apple”但不包含“apples”,所以如果我查询“apples”,它找不到任何东西。
解决此问题的一种可能方法是将所有标签的词干版本添加到数据库中,但这效率低下。
由于 Stardog 使用 SPARQL 查询语言和 Lucene,我如何要求 Stardog 在其搜索中使用词干提取?
rdf - 使用 Sesame 将 Topbraid Composer 连接到 Stardog
在 Sesame 2.8.1 存储库的帮助下,我无法将 Topbraid Composer 4.6.3 连接到 Stardog 3.0。这些是我正在遵循的步骤:
- 创建新的 RDF/OWL Sesame2 存储库连接
- 输入文件名、基本 URI 和服务 URL。可用的存储库已正确显示。
- 选择 Stardog 存储库
- 当我尝试连接时,显示以下消息
另外值得一提的是,Stardog 中启用了安全性这一事实。因此,我在 Sesame Workbench 的 SPARQL 查询端点 URL 中添加了凭据 (http;//admin:admin@url)。没有为 Sesame 配置安全性。
我想知道哪个工具会成为瓶颈。有没有人做过类似的事情?
sparql - SPARQL 查询中的“或”
我不太明白为什么在 SPARQL 中他们没有实现基本的逻辑运算符。然而,在大多数情况下,可以通过多种方式获得相同的结果。
这个问题的目的是快速参考可以替代“或”陈述的可能方式。
这是我能想到的:
1)UNION
例如:
-通常不适合,因为它可能变得非常冗长,因为
不作为
(至少不是 Stardog)
2)FILTER
例如:
还有其他想法吗?
rdf - 文字的推理和数据类型
^^xsd:string
在 Turtle-RDF 中,省略字符串文字的数据类型扩展是很方便的。但是当我尝试用 StarDog 进行推理时,http://www.stardog.com/,只有:YYY
带有扩展名的人"green"^^xsd:string
被发现是:GreenButton
推理结果:
处理它的最佳方法是什么?
rdf - Stardog 的 HACluster 配置
我有三台机器在高可用性集群配置中运行 Stardog - 我应该使用什么端点 URL 来读取和写入 Stardog,我应该在哪里配置它?我打算使用 SNARL API/协议。