2012-03-12 6 views
3

Я новичок, пытаясь узнать о RDF, RDFa и питания, связанные с ним, так как несколько дней ..Как извлечь RDFa из HTML с помощью PHP или Java?

Мой вопрос, рассмотрим следующий HTML + RDFa код .. можно ли извлечь часть RDF отдельно? если вы могли бы продемонстрировать простой фрагмент кода (PHP или Java).

Я слышал, что можно использовать Йену, но не смог найти учебник, который объясняет это. Так что, если это возможно с 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> 

ответ

3

Да, вы можете извлечь RDF со страниц, содержащих разметку RDFa, и после ее извлечения вы можете поместить его в локальный трипестор RDF, если вы хотите сделать что-то из этих данных самостоятельно или вы можете вставить его в глобальный трипестор и иметь возможность запрашивать его вместе с существующими данными RDF.

Here является релевантной дискуссией по парным анализаторам Java RDFa.

+0

Спасибо Michael .. ссылка была очень полезной .. – Robert

-5

Вы не можете отделить RDF от HTML как RDF предоставляет дополнительную информацию о вещах, в HTML.

Это было бы похоже на то, чтобы снять сноску и библиографию из книги и выбросить книгу: в основном бессмысленно.

+0

Эй спасибо за быстрый ответ ... Но что мой вопрос заключается в том, что возможно ли извлечь RDFa и использовать его для какой-либо другой обработки. Скажем, у меня есть 10 связанных страниц HTML + RDFa, я хочу извлечь копию RDFa (не Seperate/Delete) со всех этих страниц, объединить ее и использовать ее для дальнейшая обработка на стороне сервера (например, я хочу вставить в db или выполнить какой-то запрос на RDFa и т. д.). Возможно ли это? – Robert

+0

Я не понимаю, как вывести RDF из страницы и поместить ее в базу данных, не отделяет RDF от данных, которые он описывает. Очевидно, что исходные документы HTML + RDFa по-прежнему не повреждены, но они не подключены к базе данных. – Quentin

+0

Хорошо. Итак, невозможно получить чистый список всех троек, присутствующих в связке документов HTML + RDFa? Тогда для чего же Иена? не могли бы вы рассказать ... – Robert

2

Посмотрите на Damian's 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

+0

Эй, я пробовал следующий код Class.forName ("net.rootdev.javardfa.RDFaReader"); Модель model = ModelFactory.createDefaultModel(); model.read ("файл: /// C:/sample.HTML», "GRDDL"); model.write (System.out, "RDF/XML"); , но он дает ошибку: Необработанное исключение типа ClassNotFoundException \t HelloRdfWorld.java могли бы вы помочь вне .. плз. – Robert

+0

Вы видели GRDDL - это мой ответ? ;-) – castagna