gpt4 book ai didi

python - RDFLib 解析器无法识别 json-ld 格式

转载 作者:行者123 更新时间:2023-11-30 23:08:11 24 4
gpt4 key购买 nike

我的 Python 3.4 代码:

from rdflib import Graph, plugin
import json, rdflib_jsonld
from rdflib.plugin import register, Serializer
register('json-ld', Serializer, 'rdflib_jsonld.serializer', 'JsonLDSerializer')

context = {
"@context": {
"foaf" : "http://xmlns.com/foaf/0.1/",
"vcard": "http://www.w3.org/2006/vcard/ns#country-name",
"job": "http://example.org/job",

"name": {"@id": "foaf:name"},
"country": {"@id": "vcard:country-name"},
"profession": {"@id": "job:occupation"},
}
}

x = [{"name": "bert", "country": "antartica", "profession": "bear"}]
g = Graph()
g.parse(data=json.dumps(x), format='json-ld', context=context)
g.close()

错误:

"No plugin registered for (%s, %s)" % (name, kind))
rdflib.plugin.PluginException: No plugin registered for (json-ld, <class'rdflib.parser.Parser'>)

根据RDFLib documentation ,支持的插件列表不包括 json-ld 格式。但是,我之前已经将其格式设置为 json-ld,并且有很多使用 json-ld 格式的示例,例如: https://github.com/RDFLib/rdflib-jsonld/issues/19

我包含了 rdflib_jsonld 的导入,尽管它之前在另一个环境(Python 2.7)上仅使用 rdflib 工作过(我知道,没有任何意义)。

第 4 行 json-ld 的寄存器部分也没有帮助。

有人有想法吗?

最佳答案

我通过添加以下内容使其工作:

from SPARQLWrapper import SPARQLWrapper

我正在研究来自 RDFLib 的 jsonLayer 模块 http://rdflib.readthedocs.org/en/latest/apidocs/rdflib.plugins.sparql.results.html#module-rdflib.plugins.sparql.results.jsonlayer并注意到我在之前的环境中使用了 SPARQLWrapper,在该环境中我让示例正常工作,它就在那里。

关于python - RDFLib 解析器无法识别 json-ld 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31841543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com