问题标签 [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.
input - 需要帮助了解如何从输入文件查询 SPARQL
我正在使用 SPARQL 并且无法理解它实际上是如何通过输入文件的。例如,我有来自三个不同企业的三个相同产品的订单。在我的查询中,当两个企业只有两次购买时它可以工作,但是当我添加每个的第三个时,它几乎像一个循环一样经历。它为第一个业务检查一次购买,为第二次检查两次,为第三次检查三次。我很困惑为什么它会做类似循环的事情?
大多数情况下,当您按下开始时,我无法理解 SPARQL 如何搜索输入文件。
查询示例如下
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 查询,如何在我的本体中添加新类?
我有我的本体,我能够运行像 SELECT 查询这样的 SPARQL 查询。但是我找不到为我的本体添加/创建新类的方法。我在网上寻找解决方案,但我看到的所有信息都是本体的修改。我的意思是在两个资源之间转换或添加一个现有的 ObjectProperty,这两个资源也存在。
我正在使用 TopBraid Composer 免费版
我努力了 :
在哪里 myprefix => http://myapplication/
但它不起作用,我无法弄清楚如何将它合并到我的本体中..(我没有足够的声誉来发布图片抱歉......)
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 字段为空。我知道这个描述令人困惑——知道我应该怎么做才能完成这项工作吗?
sparql - SPIN 函数中的条件子查询 (SPARQL)
如何根据变量是否绑定来更改查询公式?
我正在调用这样的魔法属性:
在魔法属性中,我做了一个联合:
换句话说,让我得到:someProp
这个值或 :someProp
未定义的所有结果。
这是棘手的部分。如果?subj
未绑定(即,我将其设置为UNDEF
在VALUES
块中),则上述查询会变得疯狂并返回所有内容。
相反,我想检查是否?subj
未绑定。如果?subj
未绑定,:myMagicProperty
则应仅返回以下结果:
我已经尝试过使用FILTER
和BOUND
功能,但我无法弄清楚如何获得正确的行为。未绑定时,如何UNION
从查询中删除其中一个子句??subj
更新
修改了第一个查询以添加VALUES
块。
添加了缺失?result a :Rule .
的语句。
更正?someProp
为:someProp
.
sparql - 如何在 TopBraid Composer 中获取评论的算术结果?
在 TopBraid Composer 中,我将所有 SPARQL 查询作为注释保存在单独的实例中。我想计算它们的值,并且我希望该值在一个单独的实例中。例如,我的 SPARQL 查询是 2 * 3,当我运行它时,结果是 6。这里我的评论包含“2 * 3”。
我想要的是结果“6”显示在一个单独的实例中。我将在其他一些计算中使用该实例的值,例如“6 (of this) * 4” = 24。如果有任何方法可以处理它,请告诉我。
它将使我们免于编写和安排如此多的内部查询。我们所需要的只是编写简单的查询并通过此方法连接它们,最终查询将为我们提供结果。太感谢了。
sparql - 如何在 SPARQL 中转置查询结果
我正在使用 TopBraid Composer 编写 SPARQL 查询。我查询了以下结果:
现在我的谦虚问题是我们是否可以以某种方式将结果转置如下:
javascript - 使用 Mozilla Rhino 的 HTTP 请求
我想编写一个用 Mozilla Rhino 处理的 JavaScript 代码,它可以执行简单的 HTTP GET 请求,从 URL 中获取文本字符串。问题是,我在 Rhino 中找不到任何支持来执行任何类型的 HTTP 请求。此外,我无法访问 Rhino 实例本身,它通过 TopBraid Composer IDE 运行以进行本体建模。我相信任何关于我可以在我的 JavaScript 文件中导入的简单库的想法都可能是一个很好的解决方案。
有什么帮助吗?谢谢。
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 数据文件命令,导致上述错误消息。
抢占一些在我的特定情况下无济于事的可能答案方向:
- 我特别想使用 SPIN 构造函数和约束,而不是 SWRL 或其他规则语言。
- 尽管我在 TopBraid Composer Maestro 版中取得了成功,并感谢我从 TopQuadrant 获得的帮助,但我无法负担在与其他计算机交互时使用我的 SPIN 构造函数和约束所需的 TopBraid Live 许可证。(TopBraid Composer Maestro Edition 有一个 SPARQL 端点,但该端点只能通过 localhost 从主机访问。)我还想确定 Sesame 实现是否对 SPIN 约束和构造函数施加了一些与 TopBraid 工具相同的限制。
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 版本并删除这些丑陋的子字符串。