2012-03-12 102 views
3

我是新手,想了解RDF格式,RDFa和因为几天与之相关的东西..如何使用PHP或Java从HTML中提取RDFa?

我的问题是,考虑下面的HTML + RDFa的代码..可以单独提取RDF的一部分?如果是的话,你可以请示范简单的代码片段(PHP或Java)..

我听说耶拿可以使用,但找不到解释这一点的教程。所以,如果有可能与耶拿任何人都可以张贴一些代码片段,请..

<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> 

回答

3

是的,您可以从包含RDFa标记的页面中提取RDF,并且一旦提取,您可以将其放入本地RDF三重存储中,如果您想单独执行某些数据或者可以将其插入一个全球性的三重商店,并且能够与现有的RDF数据一起查询。

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

+0

谢谢迈克尔..链接是非常有益的.. – Robert 2012-03-13 04:09:48

-5

的RDF从HTML作为RDF是提供有关在HTML的东西更多的信息不能分开。

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

+0

嘿感谢快速回复......但是我的问题是,是否有可能提取RDFa并将其用于其他处理..假设我有10个相关的HTML + RDFa页面,我想从所有这些页面中提取一份RDFa(不是分开/删除),将它合并并用于在服务器端的进一步处理(例如,我想插入一个数据库或执行RDFa等查询,..)这可能吗? – Robert 2012-03-12 14:08:18

+0

我不明白如何将RDF带出页面并将其放入数据库不会将RDF与其描述的数据分开。显然,原始的HTML + RDFa文档仍然完好无损,但它们没有连接到数据库。 – Quentin 2012-03-12 14:10:26

+0

好吧好吧..所以不可能获得纯粹的列表中存在的一堆HTML + RDFa文件中的所有三元组?那耶拿用什么?请您简要介绍一下...... – Robert 2012-03-12 14:17:44

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

+0

感谢castagna ..这正是我正在寻找..也有很多替代品目前与你说的一样,其中有在迈克尔提供的讨论链接.. – Robert 2012-03-13 04:09:54

+0

嘿我试着下面的代码 Class.forName(“net.rootdev.javardfa.RDFaReader”); Model model = ModelFactory.createDefaultModel(); model.read(“file:/// C:/ sample。HTML”, “GRDDL”); model.write(System.out的, “RDF/XML”); 但它给错误:未处理的异常类型的ClassNotFoundException \t HelloRdfWorld.java 你可以请大家帮帮忙.. PLZ。 。 – Robert 2012-03-21 06:27:56

+0

你见过GRDDL是我的答案吗?;-) – castagna 2012-03-23 21:04:05