В последнее время я узнал о sparql и путаю пустые узлы. Можно ли использовать пустые узлы для связанных данных из нескольких наборов данных? Или он просто используется для одного набора данных? тогда каково конкретное использование этих пустых узлов?
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0-1/>
SELECT DISTINCT ?class
WHERE {[] a ?class}
Вышеупомянутый запрос уже использует другой набор данных или несколько наборов данных?
Конкретное использование? Анонимные сущности? Н-арные отношения?
См. Также информацию о теге blank-nodes: stackoverflow.com/tags/blank-nodes/info
В SPARQL пустые синтаксические узлы являются переменными.
спасибо за информацию @AndyS
спасибо за информацию @StanislavKralin
Пустые узлы - это в основном местоимения.
Они используются, когда вы знаете, что объект существует, и вы можете кое-что сказать о нем, но вы не знаете его абсолютного идентификатора, его URI, его имя, поэтому вы используете местоимение для ссылки на него.
В вашем примере запроса вы на самом деле не используете пустой узел, поскольку []
просто заменяет обычный ?s
или любую другую переменную. Лучшим примером пустого узла будет здесь -
:Fred :hasThing [ :hasColor :Blue ]
Мы больше ничего не знаем о «Вещи», поэтому относимся к ней косвенно.
Добавлен --
Также обратите внимание, что в вашем запросе объявления PREFIX
бессмысленны, поскольку объявленные префиксы нигде в вашем запросе не появляются. Они не вызывают включение перечисленных наборов данных (поскольку в данном контексте они не являются списками наборов данных; они просто синтаксический сахар, чтобы упростить запись других URI в запросе в виде префиксов URI, таких как foaf:Person
, а не полностью - квалифицированные URI, такие как <http://xmlns.com/foaf/0.1/Person>
), ни исключение других.
(По касательной - ваш префикс foaf:
неверен, так как в нем стоит дефис «-
» вместо точки «.
».)
Этот запрос идентичен вашему -
SELECT DISTINCT ?class
WHERE { ?s a ?class }
@SintaAnjelina - Пожалуйста, прими мой ответ, если вас устраивает.
Да, можно использовать. Почему нет?