Как используется RDFa?

Мне было интересно, как используется RDFa. В частности, если семантическая сеть данных состоит из троек в RDF, как потребитель контента RDFa использует эти данные? Нужно ли его конвертировать с помощью такого инструмента, как GRDDL? Или есть другие способы получения семантических данных с веб-сайтов RDFa?

Спасибо, Брюс


person Bruce Whealton    schedule 10.06.2011    source источник


Ответы (3)


Один из способов — использовать синтаксический анализатор RDFa для извлечения троек из документа RDFa, а затем обрабатывать их в приложении. это то, что Google и компания делают в своих поисковых системах, я думаю.

В качестве альтернативы вы можете указать хранилищу SPARQL (либо в памяти, либо в постоянном) загрузить документ либо с помощью его API, либо с помощью команды LOAD SPARQL 1.1, а затем использовать запросы SPARQL для доступа к данным. Это также позволит вам запрашивать несколько документов одновременно.

Я бы, вероятно, посоветовал не пытаться обрабатывать триплеты напрямую, если ваше приложение или данные не очень просты.

person Steve Harris    schedule 10.06.2011

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

Вы также можете иногда получить rdf напрямую и проанализировать его с помощью таких фреймворков, как Jena (Java).

person Jeremy    schedule 10.06.2011

RDF — это не что иное, как граф, соединяющий узлы (обычно ресурсы) с другими узлами (другими ресурсами или литералами) через именованные ребра, но с изюминкой. Края можно вывести с помощью логики, а это означает, что вы можете получить ответы на вопросы, даже если вы никогда не давали ответ дословно. Механизм логического вывода достаточно умен, чтобы получать эти ответы из того, что он знает о системе и что он знает о логике того, что она описывает. Пример: если вы укажете, что A является матерью B, механизм вывода может сделать вывод, что B имеет родителя A. Вы не указали ребро, соединяющее B -- hasParent -> A, но вы указали, что A -- motherOf -> B, а также указали, что hasParent и motherOf являются обратными.

Когда у вас есть данные, вы можете задавать вопросы базе данных/механизму вывода. Эта операция в основном представляет собой поиск изомофризмы подграфа. Ваш запрос представляет собой граф, и ваша база данных содержит огромный граф со всеми ресурсами, соединенными именованными ребрами. Задача базы данных состоит в том, чтобы найти те части огромного графа, которые соответствуют (являются изоморфными) вашему запросу, принимая во внимание также особенности каждого ребра и узла, а не только их взаимосвязь.

Для чего его используют ? много вещей. Вы можете делать очень мощные вещи с этой моделью данных. Один из них тривиален для понимания — это мыслить социальными сетями: люди (ресурс, узел графа), связанные отношениями (friendOf) и описываемые (isAged, liveIn). С помощью запроса вы можете найти всех 23-летних людей, у которых есть как минимум три подруги и которые живут в Париже.

person Stefano Borini    schedule 10.06.2011