问题标签 [topbraid-composer]

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.

0 投票
1 回答
66 浏览

input - 需要帮助了解如何从输入文件查询 SPARQL

我正在使用 SPARQL 并且无法理解它实际上是如何通过输入文件的。例如,我有来自三个不同企业的三个相同产品的订单。在我的查询中,当两个企业只有两次购买时它可以工作,但是当我添加每个的第三个时,它几乎像一个循环一样经历。它为第一个业务检查一次购买,为第二次检查两次,为第三次检查三次。我很困惑为什么它会做类似循环的事情?

大多数情况下,当您按下开始时,我无法理解 SPARQL 如何搜索输入文件。

查询示例如下

0 投票
1 回答
226 浏览

rdf - 使用 Sesame 将 Topbraid Composer 连接到 Stardog

在 Sesame 2.8.1 存储库的帮助下,我无法将 Topbraid Composer 4.6.3 连接到 Stardog 3.0。这些是我正在遵循的步骤:

  1. 创建新的 RDF/OWL Sesame2 存储库连接
  2. 输入文件名、基本 URI 和服务 URL。可用的存储库已正确显示。

在此处输入图像描述

  1. 选择 Stardog 存储库
  2. 当我尝试连接时,显示以下消息

在此处输入图像描述

另外值得一提的是,Stardog 中启用了安全性这一事实。因此,我在 Sesame Workbench 的 SPARQL 查询端点 URL 中添加了凭据 (http;//admin:admin@url)。没有为 Sesame 配置安全性。

我想知道哪个工具会成为瓶颈。有没有人做过类似的事情?

0 投票
1 回答
845 浏览

sparql - 借助 SPARQL 查询,如何在我的本体中添加新类?

我有我的本体,我能够运行像 SELECT 查询这样的 SPARQL 查询。但是我找不到为我的本体添加/创建新类的方法。我在网上寻找解决方案,但我看到的所有信息都是本体的修改。我的意思是在两个资源之间转换或添加一个现有的 ObjectProperty,这两个资源也存在。

我正在使用 TopBraid Composer 免费版

我努力了 :

在哪里 myprefix => http://myapplication/

但它不起作用,我无法弄清楚如何将它合并到我的本体中..(我没有足够的声誉来发布图片抱歉......)

0 投票
1 回答
54 浏览

sparql - 使用 TopBraid Composer 连接不同的数据源

我正在进行概念验证,以探索如何连接来自不同数据源的 SPARQL 数据。我有两个 OWL 类,每个类都来自自己的数据模型,代表我从两个不同系统中提取的信息。数据模型如下所示:

我想做的是使用 Order.itemName 和 Item.name 字段将这两种类型连接在一起,并在 Order 类上创建一个新字段来存储订单的总价格(order.quantity * item.unitPrice)。

这对于 SPARQL 来说非常简单,但我们正在研究 TopBraid Composer,因为它具有图形映射功能。据我了解,使用 SPINMap 我们应该能够轻松地 - 并以图形方式 - 定义上述属性,但我在将事物连接在一起时遇到了一些问题。

我一直在关注 TBC 帮助中“应用程序开发工具/SPIN/Ontology Mapping with SPINMap”下的教程,但我在尝试获取一个简单的属性映射时遇到了问题。根据该帮助文档,在 Diagram 选项卡上,我从 Item Class 到 Order 类画了一条线,并选择了具有适当值的 changeNamespace 函数。然后,我从 Item 类画了一条线到 Order 类的新属性 totalPrice,并将函数设置为 equals,只是为了看看是否可以显示该属性。运行推理后,我运行 SPARQL 查询,我的所有 Order 类的 totalPrice 字段为空。我知道这个描述令人困惑——知道我应该怎么做才能完成这项工作吗?

0 投票
3 回答
237 浏览

sparql - SPIN 函数中的条件子查询 (SPARQL)

如何根据变量是否绑定来更改查询公式?

我正在调用这样的魔法属性:

在魔法属性中,我做了一个联合:

换句话说,让我得到:someProp这个值 :someProp未定义的所有结果。

这是棘手的部分。如果?subj未绑定(即,我将其设置为UNDEFVALUES块中),则上述查询会变得疯狂并返回所有内容。

相反,我想检查是否?subj未绑定。如果?subj未绑定,:myMagicProperty则应返回以下结果:

我已经尝试过使用FILTERBOUND功能,但我无法弄清楚如何获得正确的行为。未绑定时,如何UNION从查询中删除其中一个子句??subj

更新

修改了第一个查询以添加VALUES块。
添加了缺失?result a :Rule .的语句。
更正?someProp:someProp.

0 投票
1 回答
39 浏览

sparql - 如何在 TopBraid Composer 中获取评论的算术结果?

在 TopBraid Composer 中,我将所有 SPARQL 查询作为注释保存在单独的实例中。我想计算它们的值,并且我希望该值在一个单独的实例中。例如,我的 SPARQL 查询是 2 * 3,当我运行它时,结果是 6。这里我的评论包含“2 * 3”。

我想要的是结果“6”显示在一个单独的实例中。我将在其他一些计算中使用该实例的值,例如“6 (of this) * 4” = 24。如果有任何方法可以处理它,请告诉我。

它将使我们免于编写和安排如此多的内部查询。我们所需要的只是编写简单的查询并通过此方法连接它们,最终查询将为我们提供结果。太感谢了。

0 投票
2 回答
604 浏览

sparql - 如何在 SPARQL 中转置查询结果

我正在使用 TopBraid Composer 编写 SPARQL 查询。我查询了以下结果:

现在我的谦虚问题是我们是否可以以某种方式将结果转置如下:

0 投票
1 回答
1603 浏览

javascript - 使用 Mozilla Rhino 的 HTTP 请求

我想编写一个用 Mozilla Rhino 处理的 JavaScript 代码,它可以执行简单的 HTTP GET 请求,从 URL 中获取文本字符串。问题是,我在 Rhino 中找不到任何支持来执行任何类型的 HTTP 请求。此外,我无法访问 Rhino 实例本身,它通过 TopBraid Composer IDE 运行以进行本体建模。我相信任何关于我可以在我的 JavaScript 文件中导入的简单库的想法都可能是一个很好的解决方案。

有什么帮助吗?谢谢。

0 投票
1 回答
267 浏览

sparql - 如何加载在 TopBraid Composer 中创建的 SPARQL/SPIN 约束和构造函数,以便在支持 SPIN 的存储库中用于 Sesame?

我已经ASK使用 TopBraid Composer Maestro 版本 5.1.1 在 OWL/RDF 本体中成功生成并测试了 SPIN 约束(使用 SPARQL 查询)。我现在想在 Sesame 中测试这些 SPIN 约束。如何将我的 SPIN 约束、类定义、属性定义和包含在 TopBraid COMposer Maestro Edition 中创作的 OWL 本体中的测试个体放入 Sesame?

我正在使用芝麻 OpenRDF 工作台:

我的约束、类、属性和示例个体包含在 TopBraid Composer Maestro Edition 下的一个 RDF 文件中。

我尝试使用 Sesame Open RDF 工作台Modify/Add命令来提取由 TopBraid Maestro Edition 生成的 RDF 文件,但我收到一个似乎与空白节点相关的错误:

javax.servlet.ServletException: org.openrdf.repository.RepositoryException: org.openrdf.repository.RepositoryException: org.openrdf.sail.SailException: org.openrdf.query.QueryEvaluationException: Multiple statements for pattern: _:node1alqlr2eix590 http://spinrdf.org/sp#where null

也许我没有正确地从 TopBraid Composer Maestro Edition 导出?我在 TopBraid Composer Maestro 版中使用了 RDF 文件的通用导出到文件系统,并使用了 Sesame OpenRDF 工作台添加 RDF 文件/RDF 数据文件命令,导致上述错误消息。

抢占一些在我的特定情况下无济于事的可能答案方向:

  1. 我特别想使用 SPIN 构造函数和约束,而不是 SWRL 或其他规则语言。
  2. 尽管我在 TopBraid Composer Maestro 版中取得了成功,并感谢我从 TopQuadrant 获得的帮助,但我无法负担在与其他计算机交互时使用我的 SPIN 构造函数和约束所需的 TopBraid Live 许可证。(TopBraid Composer Maestro Edition 有一个 SPARQL 端点,但该端点只能通过 localhost 从主机访问。)我还想确定 Sesame 实现是否对 SPIN 约束和构造函数施加了一些与 TopBraid 工具相同的限制。
0 投票
1 回答
49 浏览

sparql - 为什么 TopBraid Composer FE 在 SPIN 规则过滤器中重新组合我的多个 OR 条件?

我正在使用 TopBraid Composer 免费版 (TBC FE) 版本 5.1.3。我正在构建 SPIN 规则/CONSTRUCT 查询。我的部分查询有一个带有多个 OR 条件的 FILTER 语句。我将其输入到 TBC FE 中,如下所示:

但是,当我在 TBC FE 中保存 SPIN 规则时,它会将 OR'd 条件重新组合为一组二进制 OR:

我的问题是:为什么要重组?我使用了其他没有进行重新组合的 SPARQL 编辑器和端点。我认为这使我的代码更难阅读(成本),所以我想知道有什么好处?

另外,如果不需要重新组合,有没有办法在 TBC FE 中将其关闭?

谢谢。

PS:是的,我知道采用文字字符串的子字符串似乎很愚蠢。我这样做是为了避免 Sesame 中的一个错误,当我将我从 TBD FE 保存的 RDF 文件加载到 Sesame 中时,它会修剪我的文字字符串。该错误已报告并正在解决。修复后,我将升级我的 Sesame 版本并删除这些丑陋的子字符串。