我已经从 Screaming Frog 工具中解析了 JSON+LD(结构化)数据。此工具导出数据的格式不可行,因为父/子关系(交叉引用)不在 Excel 中的一行上。编辑:这种序列化格式称为 n-triples。下面是一个带有颜色编码的索引关系的示例输出(抱歉,还不允许发布图像):
Subject Predicate Object
subject27 schema.org/aggregateRating subject28
subject27 schema.org/offers subject29
subject27 schema.org/operatingSystem ANDROID
subject27 type schema.org/SoftwareApplication
subject28 schema.org/ratingCount 15559
subject28 schema.org/ratingValue 3.597853422
subject28 type schema.org/AggregateRating
subject29 schema.org/price 0
subject29 type schema.org/Offer
下面是所需的最终输出示例,其中所有嵌套级别都在它自己的列中。每个嵌套级别(最多 4 层)都应该映射到自己的列中,重复父路径信息。
Predicate L1 Object L1 Predicate L2 Object L2
type schema.org/SoftwareApplication
schema.org/operatingSystem ANDROID
schema.org/aggregateRating subject28 schema.org/ratingCount 15559
schema.org/aggregateRating subject28 schema.org/ratingValue 3.597853422
schema.org/aggregateRating subject28 type schema.org/AggregateRating
schema.org/offers subject29 schema.org/price 0
schema.org/offers subject29 type schema.org/Offer
我一直在寻找现有的未展平解决方案,但是这些解决方案要么使用存储在单个列中的路径信息(每个“最低级别值”都有自己的“行”),要么不根据索引重建原始数据。
我希望通过结合使用 for 循环和 SQL JOINS 来做到这一点,但我觉得必须有一个更优雅的解决方案。这可能是 Python、PHP、JS 或 SQL 或组合,甚至可以将每个“主题”添加到 MongoDB 文档中,然后对其应用合并操作?
编辑:更新标题以优化本文的 SEO。我正在使用的 RDF 和 JSON+LD 数据的序列化格式称为 N-triples。在此处阅读更多信息:https ://medium.com/wallscope/understanding-linked-data-formats-rdf-xml-vs-turtle-vs-n-triples-eb931dbe9827