0

查询此图会得到图 #1。我们可以绘制图 #2 吗?我认为获得 Graph #2 是不可能的,但如果有人知道,请提供帮助。

  Mark :Friends_Name "John" 
    Mark :Stays_In "USA"
    John :Stays_In "USA

在此处输入图像描述

4

1 回答 1

0

图形笔记本渲染引擎将在具有相同文字值的项目之间创建连接,这些项目在可视化中显示为它们的标签。它本质上将值视为您使用以下任一方法创建了图形:

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"
}

在此处输入图像描述

要解决此问题,至少目前,您需要为美国使用不同的标签。然而,就数据建模而言,我认为您通常希望 Graph 1 可视化显示这些值是常见的,但我也可以看到想要一个可视化,其中每个主题都与它自己的对象链接,其中对象是文字。随意针对graph-notebook项目创建一个问题(功能请求)。

这相当难看,但如果可视化是必不可少的,您可以通过这种方式创建图表。

%%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)"
}

或者更骇人听闻的是,在其中一个 USAs 中添加一个空间(我不鼓励这样做,但如果制作视觉效果是关键目标,这将起作用)。在第二个美国有一个空间。

%%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 "
}

在此处输入图像描述

于 2021-11-25T18:45:29.117 回答