问题标签 [rdflib]

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 投票
2 回答
2262 浏览

python-2.7 - 在owl中检索特定子类的类名

我是rdflib初学者,我有一个包含类和子类的本体,我需要在子类中查找特定单词,如果找到,则返回其类名。

我有以下代码:

当我返回一个完整printqresURL 时,我只需要子类和类的名称。

有人能帮忙吗。

0 投票
2 回答
1056 浏览

python - 从 BNode 中提取数据

我正在使用SPARQL从RDF文件中提取节点,rdf文件中的节点如下:

我正在使用 python RDFLib 来获取这个节点。它返回为

如何从 dc:description 中提取文本rdflib.term.BNode('Nfc3f01b2567a4b3ea23dbd01394929df')

我根据答案尝试过的东西:

我收到以下错误:

0 投票
1 回答
263 浏览

python - 删除 rdflib 中的安全引用

如果我有一个rdflib.Uriref指向我不再需要的资源的那个点。如何使用 rdflib 安全地删除它。

例如,如果我只是删除所有引用它的三元组,则可能会破坏诸如 Bnode 之类的列表。

0 投票
1 回答
162 浏览

python - Python rdflib 和 SPARQL BIND 支持

我正在尝试使用 BIND() 函数进行各种 SPARQL 查询,但似乎都不适用于 rdflib 4.0。

每次我得到:

编辑这是查询:

关于可能出错的任何提示?

0 投票
1 回答
1379 浏览

python - 使用 rdflib 和 python 测试 dbpedia 页面的资源类型

我正在使用 Python 中的 RDFlib 从用户输入的 dbpedia 页面中提取数据,并且正在努力寻找一种方法来测试该页面是否与一个人有关。我确信这很容易,并且可以使用测试,例如页面是否有birthDate 的资源,但这似乎是一个杂项。

有没有一种直接的方法可以在不使用 SPARQL 的情况下做到这一点

我的代码类似于

并非所有记录都有birthName,但我仍然想检查这是一个人而不是水果,例如:)

对此新手,任何帮助表示赞赏。

0 投票
1 回答
609 浏览

python - 以我可以使用 RDFlib 的方式获取事实形成 RDF 图

我正在尝试学习使用 RDF,并尝试从 dbpedia 中提取一组事实作为我的学习练习。下面的代码示例有点工作,但对于配偶等主题,它总是会拉出他们自己的人。

问题:

  1. get_name_from_uri() 提取 URI 的最后一部分并删除下划线 - 必须有更好的方法来获取人名
  2. 配偶的结果拉回配偶但也拉回数据主体 - 不确定那里发生了什么
  3. 一些结果以 URI 格式和文本项的形式提取数据 -

这是代码块的输出,显示了我得到的一些奇怪的结果(请参阅属性中的混合输出,他与自己结婚的事实以及 Josephine 的错误名字?

这是产生上述输出的 python,它需要 rdflib,并且正在进行中。

0 投票
2 回答
2158 浏览

python - 使用 RDFlib 获取 Literal 对象的 lang 值

我有这个 rdf 文件:

并希望通过其 lang 值过滤 Literal 对象。例如:

我只想查询 o where lang='en'

0 投票
1 回答
1055 浏览

python - 可以在 Python 中将“é”打印为“%C3%A9”吗?

我在传递带有 unicode 字符的 uri 以rdflib添加到Graph()

例如,我想运行:

但是我得到了一个在 Python 中很常见的 ascii 编解码器编码错误。

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 17: ordinal not in range(128)

如果 uri 以“ http://dbpedia.org/resource/Ren%C3%A9_Auberjonois ”的形式传递,那很好,如果字符串采用这种方式,解析器就可以工作(对不起,我不知道该调用什么事物,无论是“原始”、“转义”、“未转义”还是其他)。

有什么我可以做的uri(它不是以这种方式设置的,它是通过一个循环遍历名称列表的函数来设置的),这样print uri可以http://dbpedia.org/resource/Ren%C3%A9_Auberjonois吗?

背景:我最初问过这个问题,但是u在字符串前面添加对于脚本的设置方式是不可行的(我没有像这样设置每个字符串s = 'René_Auberjonois':),或者当我将它传递给 rdflib 时最终实际上不起作用(即仍然得到编码错误,因为它正在被传递http://dbpedia.org/resource/René_Auberjonois

此外,如果有很好的资源来理解我在这里遇到的问题,那会很酷。我现在对字符编码感到困惑。

0 投票
4 回答
12629 浏览

python - 如何使用 RDFLib 在 RDF 文件中导出图形

我正在尝试使用 Python 3.4 中的 RDFLib 生成 RDF 数据。

一个最小的例子:

此代码导致以下错误:

如果我将最后一行替换为:

我没有收到错误,但结果是二进制流的字符串表示形式(以 开头的单行文本b'):

问题 如何正确地将图形导出到文件中?

0 投票
1 回答
1588 浏览

python - Python 和 rdflib:解析问题

我正在使用rdflib(包 python-rdflib 2.4.2-3,Python 2.7.5+,Ubuntu 13.10)非常沮丧。我只是想将两个 NT 文件加载到本地三重存储中。这是代码:

此代码总是引发xml.sax._exceptions.SAXParseException: http://dbpedia.org/data3/Place.ntriples:1:6: not well-formed (invalid token). 很明显,parse默认为 RDF 格式,试图将文本解析为 XML(并且失败)。如最后一行所示,代码不检查格式是否存在。它只是忽略它。

另一个令人讨厌的方面是,这parse似乎从图中删除了所有内容,这不是文档中描述的行为:

我不得不承认这个库看起来太错误了,无法使用。

关于如何在 Python 中调试这个和/或替代方案的任何想法?

穆龙