首页 > 解决方案 > 解析的 RDF/XML 三元组中乱码的含义?

问题描述

我使用下面的代码来解析 RDF 并在 excel 中获取三元组。

import rdflib
import pandas as pd

g = rdflib.Graph()
g.load('https://standards.buildingsmart.org/IFC/DEV/IFC4/ADD2_TC1/OWL/')

lst_s = []
lst_p = []
lst_o = []

for s, p, o in g:
    lst_s.append(s)
    lst_p.append(p)
    lst_o.append(o)

df = pd.DataFrame(list(zip(lst_s,lst_p,lst_o)), columns=['s','p','o'])
df.to_excel("ifc owl.xlsx") 

我发现有一些乱七八糟的代码是这样的: 在此处输入图像描述

我查看了 N Triples 格式,发现上面 excel 中突出显示的三元组如下: 在此处输入图像描述 看起来乱码是“genid2542?”。这样乱七八糟的代码是什么意思?是因为解析错误还是对应某些含义?谢谢!

标签: rdfowlontologyrdflibifc

解决方案


只需重新发布评论中的一些观点作为可以接受的答案:

这些标识符指的是在现实世界中没有身份的RDF 空白节点 ( https://w3.org/TR/rdf11-concepts/#section-blank-nodes )。它们在每个文档中都是唯一的。

请记住,每个接触空白节点的工具不仅可以自由,而且在某些情况下必须将它们重写为不同的。


推荐阅读