RDF — это не что иное, как граф, соединяющий узлы (обычно ресурсы) с другими узлами (другими ресурсами или литералами) через именованные ребра, но с изюминкой. Края можно вывести с помощью логики, а это означает, что вы можете получить ответы на вопросы, даже если вы никогда не давали ответ дословно. Механизм логического вывода достаточно умен, чтобы получать эти ответы из того, что он знает о системе и что он знает о логике того, что она описывает. Пример: если вы укажете, что A является матерью B, механизм вывода может сделать вывод, что B имеет родителя A. Вы не указали ребро, соединяющее B -- hasParent -> A
, но вы указали, что A -- motherOf -> B
, а также указали, что hasParent
и motherOf
являются обратными.
Когда у вас есть данные, вы можете задавать вопросы базе данных/механизму вывода. Эта операция в основном представляет собой поиск изомофризмы подграфа. Ваш запрос представляет собой граф, и ваша база данных содержит огромный граф со всеми ресурсами, соединенными именованными ребрами. Задача базы данных состоит в том, чтобы найти те части огромного графа, которые соответствуют (являются изоморфными) вашему запросу, принимая во внимание также особенности каждого ребра и узла, а не только их взаимосвязь.
Для чего его используют ? много вещей. Вы можете делать очень мощные вещи с этой моделью данных. Один из них тривиален для понимания — это мыслить социальными сетями: люди (ресурс, узел графа), связанные отношениями (friendOf) и описываемые (isAged, liveIn). С помощью запроса вы можете найти всех 23-летних людей, у которых есть как минимум три подруги и которые живут в Париже.
person
Stefano Borini
schedule
10.06.2011