【问题标题】:Conversion of N-Triples to Cypher TextN-Triples 到密文的转换
【发布时间】:2014-12-23 20:04:07
【问题描述】:

我有一个 N-Triples 转储,我想将其转换为密码文本,以便可以直接将其加载到 Neo4j 数据库中。 对于像rdf-syntax-ns#type 这样的简单本体,我可以使用脚本轻松转换,即

<http://www.foo.org/triple1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.foo.org/Human>

可以很容易地转换为

CREATE (t1:Human { type : "triple1" })

它是准确的,正如我所希望的那样。但是对于像&lt;http://www.w3.org/2002/07/owl#equivalentProperty&gt; 这样复杂的东西,它会变得很糟糕。

因此我的问题是如何使用 &lt;http://www.w3.org/2002/07/owl#equivalentProperty&gt; 作为谓词将任何三元组转换为 Cypher 文本?

【问题讨论】:

    标签: neo4j cypher n-triples


    【解决方案1】:

    有关如何将 RDF 导入 Neo4J 的一般问题,请参阅 this related question

    特别是equivalentProperty 的东西,你在这里搞砸的原因是equivalentProperty 是一个引用模型本身的“元”语句;也就是说,在这种情况下,它是关于属性而不是数据的陈述。在 Neo4J 中,您在数据库中没有明确的模型(我们希望这可能会随着时间的推移而改变,但现在就是这样)。所以你不能像这样谈论一般的财产。最好的选择可能是创建一种代表该属性元数据的新节点。

    例如如果你有 RDF:

    <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#equivalentProperty> <http://my-ns.org/vocab#foobar>
    

    那么你可以把它变成:

    MERGE (p1:Property { ns: "http://www.w3.org/1999/02/22-rdf-syntax-ns#", name:"type" },
          (p2:Property { ns: "http://my-ns.org/vocab#", name: "foobar" }),
          (p1)-[:equivalentProperty]->(p2);
    

    之所以可行,是因为我们正在创建使属性元数据真实的:Property 节点。默认情况下,neo4j 无法做到这一点,而在 RDF 中,由于这些属性有自己的 URI,因此它们是 RDF 中的“节点”。

    【讨论】:

    • 感谢哥们的回答,即使像 sameAshasType 这样的东西也很少使用 Neo4j。可悲的是,这些东西将进入 ACM 论文提交,其中会涉及各种细节。我已经合并了您的建议并正在运行脚本。一旦它很好,我会将答案标记为准确。再次感谢。
    • sameAs 之类的东西出于同样的原因也会出现同样的问题。 SameAs 将一个模型项标记为与另一个相同。可以这么说,您必须“为模型建模”。
    • 是的,希望 Neo4j 团队能想出更多东西来处理这些事情。
    • 另见我对另一个相关问题的回答:stackoverflow.com/questions/24931059/…
    • 也许吧。 equivalentProperty 背后的前提是你有来自不同命名空间的 2 个不同的道具。一般来说,我认为合并它们是一个坏主意,因为你破坏了两个词汇之间的区别。这可能取决于您的用例,但 RDF 将它们分开是有充分理由的。请注意,在我建议的属性中,我添加了一个 ns 属性,因此即使它们具有相同的名称,您也可以分辨出两个属性之间的区别。合并将破坏这种差异。所以最终这取决于你是否需要按命名空间来区分。
    猜你喜欢
    • 1970-01-01
    • 2011-11-07
    • 2012-06-14
    • 2021-09-25
    • 2017-04-11
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多