问题标签 [triples]
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 - SPARQL DELETE 查询错误:解析时出现 EOF
我正在尝试使用此查询删除一些三元组:
deleteQuery = """DELETE { ?a ?b ?c } WHERE { mynamespace:List mynamespace:Item ?c.
?a ?b ?c }"""
我的命名空间已经定义,所以这不是问题。我不确定我是否使用了正确的查询语法。当我发出查询时,我收到此错误:
400 EOF while parsing.
Expected terminals:
(prefix describe sum correlation select average modify insert median
load ask construct clear count stats delete).
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "triple_store_methods_v2.py", line 40, in query
myResults = myTupleQuery.evaluate()
File "/usr/local/agraph-fse-3.3/python/franz/openrdf/query/query.py", line 358, in evaluate
response = self.evaluate_generic_query()
File "/usr/local/agraph-fse-3.3/python/franz/openrdf/query/query.py", line 239, in evaluate_generic_query
checkVariables=self.checkVariables, accept=accept)
File "/usr/local/agraph-fse-3.3/python/franz/miniclient/repository.py", line 80, in evalSparqlQuery
accept=accept)
File "/usr/local/agraph-fse-3.3/python/franz/miniclient/request.py", line 114, in jsonRequest
else: raise RequestError(status, body)
franz.miniclient.request.RequestError: Server returned 400: EOF while parsing.
Expected terminals:
(prefix describe sum correlation select average modify insert median
load ask construct clear count stats delete).
我不明白我做错了什么。顺便说一句,我正在使用 AllegroGraph 3.3。
rdf - 日常应用中的 RDF、三元组和语义 Web
含糊不清的问题:
1:为什么将近 100% 的应用程序开发人员、应用程序开发社区和文献(书籍、教程等)认为您想使用关系数据库或键值存储来表达数据?
2:为什么不是每个人都使用“三重”数据结构?
3:Triples 不是适用于关系数据库和键值存储的所有问题吗?Triples 至少在每种情况下都不是那么容易使用吗?
python - 使用张量表示几个 RDF 三元组。如何使用 Python 编程这个建模过程?
关于使用张量表示几个 RDF 三元组的问题。
设想:
RDF-triple用于表达关于资源、格式(主语、谓语、宾语)的简单陈述。
假设我有两个谓词,一个是play_for,另一个是race_for,每个谓词包含n个三元组,如下:
第一个谓词:play_for;n个三人组:(Ray Allen, play_for, Boston Celtics), (Kobe Bryant, play_for, Lakers), ... 简而言之,(A_i, play for, T_i) for i =1 to n。
第二个谓词:race_for;n 三元组:(波士顿凯尔特人队,race_for,NBA 总冠军),(湖人队,race_for,NBA 总冠军),...简而言之,(T_i,race_for,NBA)对于 i=1 到 n。
张量表示是对这 2n 个三元组建模的一种方法。我正在研究Maximilian Nickel 的论文以使用张量分解来查找数据集的潜在语义结构。第一步是使用张量表示数据集。
张量条目 X_ijk = 1 表示存在关系(第 i 个实体,第 k 个谓词,第 j 个实体)。否则,对于不存在和未知的关系,条目设置为零。例如,这 2n 个三元组可以用张量建模为:
假设 RDF 三元组存储在“test.txt”中。我的问题是如何使用 Python 对这个建模过程进行编程。
这是我的想法:
最困难的事情是如何获得与张量中非零位置对应的RDF-triple的坐标。首先,这是一个包含所有实体的列表:
对于数据集中的每个 RDF-triple (Subject_i, Predicate_k, Object_j),都有一个坐标 (i,j,k) 描述 X_ijk = 1 在张量中的位置。例如,现有的 RDF-triple (A_i, play for, T_i) 的坐标是 (5, 1, 13),这意味着在第一个切片矩阵中 X(5,13) = 1。但是,我不知道如何获得这个坐标。我应该使用字典来存储三元组吗?
我对 Python 不是很熟悉,我已经尝试过解决方案,但我不知道如何解决它。任何帮助将不胜感激。
编辑:为了简洁和可读性,我删除了 RDF 的描述。
python - 面向过程编程中的函数生成过程
我问了一个关于将一堆 RDF 三元组转换为多路数组表示的问题。我的解决方案看起来笨拙而且......丑陋。我尝试在我的解决方案中使用函数,但我发现这是不必要的,因为使用函数的优势并不明显。我想也许我的编程思想是面向过程的,而不是面向对象的。
这是我的解决方案:(这是没有任何功能的原始版本)
OK,希望你不会觉得无聊,那我用函数把一些语句连接起来,如下:
我的函数生成过程很简单:我只需将一些功能相似线连接在一起,然后在其上定义一个函数。我不太确定我的方式是否合理。有人可以告诉我如何处理吗?任何评论都将受到欢迎。
rdf - 将三元组转换为 rdf uriref 格式
我有一个 python 函数,它在主题、对象和谓词中定义三元组并遍历它们,但我需要将三元组转换为 RDF URIRef 数据格式,以便我可以将其存储在我的 RDF 存储中。我该怎么办?
我正在为我的 RDF 存储使用 RDFLib,如上所述,我试图将字典中的一组数据(具体的传感器数据)转换为 RDFLIb URIRef 格式。
例如,如果我有 self.triples[self.identifier][prov['subject']]=self.subject.identifier self.triples[self.identifier][rdf['type']]=prov['alternateOf'] 和我使用 RDFLib 将它们转换为 URIRef 格式
至于商店,我使用的是 n3 格式的 RDFStore
我的观点是:RDFLib 使用 Python 字符串作为主语、谓语和宾语,但如果它们没有正确转换为 rdflib.URIRef 数据格式,则某些操作将无法工作。只有当它们采用正确的格式时,我才能将它们存储在 RDFStore 中。
android - 语义网:填充可从我的 Android 应用程序访问的三重存储
故事在这里:我正在为我的理学硕士项目开发一个移动应用程序。该应用程序依赖于 www.kasabi.com 网站上的一个开放数据集,该网站是一个开放数据市场。一切都很完美,直到他们最终说“我们要关闭网站”。你可以理解,现在我很……好吧,我让你想象。
数据集仍然可用且可下载,所以我现在拥有的是:亚马逊上的服务器、kasabi 数据集(三元组)的备份文件,等等。
我四处寻找有关如何开发语义 Web 应用程序的教程,但我仍然不知道如何使用此备份文件来设置三重存储并使其可以从我的 android 应用程序访问。
建议?
curl - 使用 cURL 更新 openrdf-sesame 端点中的三元组
我对所有与语义网络相关的东西都很陌生,而且我在解决这个问题时遇到了麻烦。
因此,我使用 cURL POST 请求将 RDF 数据从 .trig 文件上传到我的端点。例如:
这很好,但如果我将 trig 文件中的数据更新为:
然后重新上传它,它会相应地更新数据
有没有办法更新现有的三元组而不必删除整个记录?
谢谢!
java - 对本体是“数据驱动”的更新本体感到困惑
我在这里读到*,本体(本质上是 RDF)是数据驱动的,因为可以使用小型本体并将其用于应用程序,然后......将其他概念集成到同一本体中以使其更健壮。
我担心的是某个三元组在未来如何变得更加强大?例如。
此时,实例化 School 会给我们...
我感兴趣的三元组是
如果后来我发现“专家”这个词下面有几个属性,所以我决定创建一个专家:类
说,
我的问题是。
- 对于那些使用 hasType=Specialist^^string 的人,您如何实现旧本体中的字符串文字“Specialist”必须连接到新本体中的 Specialist(Cls) 实例?你是在耶拿还是 OWL/RDF 做的?
- 关于 (1),我知道在 Java 中重载方法有时会很有用。重载对本体有好处吗?st hasType:字符串,hasType:专家(Cls)?我是否在 OWL/RDF 中声明 URI=namespace#hasType 既是数据类型又是对象属性?
我希望有人能在这方面帮助我。
参考:
rdf - rdf 三元数据集
我需要一个具有相当数量(大约一百万)RDF 三元组的项目的数据集。我在网上找到了许多数据集,但它们都以 URI 的形式包含三元组中的数据。我需要一个数据完全以字符串文字形式存在的数据集。
我需要这种格式的数据。
我对 RDF 是什么以及如何使用它知之甚少或完全不知道。因此,有人可以帮助我了解如何将数据转换为这种格式,或者是否有办法将数据从 URI 转换为字符串文字。
c# - SemWeb - 将 C# 对象转换为 RDF 三元组
我想要的只是使用 semweb 将 C# 类实例转换为 rdf 三元组,以便用数据填充我的本体。我的类由原始属性和其他类组成,并且我构建了具有相同结构的本体。例如
有什么资源可以提供帮助吗?
提前致谢!