如何使用PHP或Java从HTML中提取RDFa?

时间:2012-03-12 13:34:21

标签: java php html rdf rdfa

我是新手,几天后试图了解RDF,RDFa以及与之相关的东西..

我的问题是,考虑遵循HTML + RDFa代码..是否可以单独提取RDF部分?如果是这样,请你演示简单的代码片段(PHP或Java)..

我听说Jena可以使用,但找不到解释这个问题的教程。所以,如果Jena有可能,任何人都可以发布一些代码片段。

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
version="XHTML+RDFa 1.0" xml:lang="en">
  <head>
    <title>John's Home Page</title>
    <base href="http://example.org/john-d/" />
    <meta property="dc:creator" content="Jonathan Doe" />
    <link rel="foaf:primaryTopic" href="http://example.org/john-d/#me" />
  </head>
  <body about="http://example.org/john-d/#me">
    <h1>John's Home Page</h1>
    <p>My name is <span property="foaf:nick">John D</span> and I like
      <a href="http://www.neubauten.org/" rel="foaf:interest"
        xml:lang="de">Einstürzende Neubauten</a>.
    </p>
    <p>
      My <span rel="foaf:interest" resource="urn:ISBN:0752820907">favorite
      book is the inspiring <span about="urn:ISBN:0752820907"><cite
      property="dc:title">Weaving the Web</cite> by
      <span property="dc:creator">Tim Berners-Lee</span></span>
     </span>
    </p>
  </body>
</html>

4 个答案:

答案 0 :(得分:3)

是的,您可以从包含RDFa标记的页面中提取RDF,一旦解压缩,您可以将其放入本地RDF三元组中,如果您想单独使用该数据,或者可以将其插入到全局三元组,并能够与现有的RDF数据一起查询。

Here是关于Java RDFa解析器的相关讨论。

答案 1 :(得分:2)

看看达米安的java-rdfa。您可以将其与Apache Jena一起使用,这里有一段代码:

Class.forName("net.rootdev.javardfa.RDFaReader");
Model model = ...
model.read(url, "XHTML"); // xml parsing
model.read(other, "HTML"); // html parsing

Java中的另一个选项是Apache Any23

答案 2 :(得分:0)

在PHP中解析RDFa:https://github.com/njh/easyrdf/(使用0.8 / master分支来获取RDFa解析器)

在Java中解析RDFa:http://semarglproject.org/

答案 3 :(得分:-5)

您无法将RDF与HTML分开,因为RDF正在提供有关HTML内容的其他信息。

这就像从一本书中取出脚注和参考书目并将书扔掉:大部分都没有意义。