Есть ли способ в SPARQL/ Neptune Notebooks получить график №2 в качестве визуализации вместо графика №1?
1 ответ
Механизм рендеринга блокнот-график создаст соединения между элементами, которые имеют то же буквальное значение, которое отображается в качестве их метки в визуализации. По сути, он обрабатывает значения так, как если бы вы создали график, используя один из следующих способов:
PREFIX : <http://www.example.com/>
INSERT DATA
{
:mark :name "Mark" .
:john :name "John" .
:usa :country "USA" .
:mark :Stays_In :usa .
:john :Stays_In :usa
}
или же
PREFIX : <http://www.example.com/>
INSERT DATA
{
:mark :name "Mark" .
:john :name "John" .
:mark :Stays_In "USA" .
:john :Stays_In "USA"
}
Чтобы обойти это, по крайней мере на данный момент, вам нужно будет использовать разные ярлыки для США. Однако, с точки зрения моделирования данных, я думаю, что вы обычно хотели бы, чтобы визуализация Графика 1 показывала, что значения являются общими, но я также вижу потребность в визуализации, в которой каждый субъект связан только с его собственными объектами, где объекты являются литералами. Не стесняйтесь создавать проблему (запрос функции) в отношении проекта графического ноутбука .
Это довольно некрасиво, но вы можете создать график таким образом, если визуализация важна.
%%sparql
PREFIX : <http://www.example.com/>
INSERT DATA
{
:mark :name "Mark" .
:john :name "John" .
:mark :friend :john .
:mark :Stays_In "USA(1)" .
:john :Stays_In "USA(2)"
}
Или, что еще более хакерски, добавьте пробел к одному из США (я не поощряю это, но если ключевой целью является создание визуального образа, это сработает). Есть место во втором США.
%%sparql
PREFIX : <http://www.example.com/>
INSERT DATA
{
:mark :name "Mark" .
:john :name "John" .
:mark :friend :john .
:mark :Stays_In "USA" .
:john :Stays_In "USA "
}