在Bioportal上使用SPARQL查询图形的一个问题

在Bioportal上使用SPARQL查询图形的一个问题,sparql,Sparql,我正在查询一个本体论。本体(NIF)存储为图形,因此我将其作为端点指示放在FROM子句中 SELECT DISTINCT ?p FROM <http://bioportal.bioontology.org/ontologies/NIF> WHERE{ ?p a rdf:Property } limit 100 选择DISTINCT?p 从…起 何处{ ?p a rdf:属性 } 限制100 然而,正如下面可以看到的,结果显示与NIF相关的属性很少,其他属性与称为SKOS(

我正在查询一个本体论。本体(NIF)存储为图形,因此我将其作为端点指示放在FROM子句中

SELECT DISTINCT ?p
FROM <http://bioportal.bioontology.org/ontologies/NIF>
WHERE{ 
   ?p a rdf:Property
}
limit 100
选择DISTINCT?p
从…起
何处{
?p a rdf:属性
}
限制100
然而,正如下面可以看到的,结果显示与NIF相关的属性很少,其他属性与称为SKOS(简单知识组织系统)的不同本体相关。

在Bioportal文档中,据说它将一些属性映射到SKOS属性,所以我认为结果可能是好的

但是,我必须测试我是否查询了正确的图形。所以我使用下面的代码来计算节点的数量,因为我知道NIF大约有360万个三元组

SELECT (count (*) as ?nodes)
FROM <http://bioportal.bioontology.org/ontologies/NIF>
WHERE{ 
   ?s ?p ?o
}
选择(计数(*)为节点)
从…起
何处{
?s?p?o
}
这就产生了7984个节点,其中有FROM子句,也有FROM子句!所以我猜我应该用错“计数”了

因此,我想知道如何确保我只是在查询NIF本体。另外,如何计算其节点数

谢谢:)

尝试使用关键字

前缀rdf:
前缀rdfs:
选择(计数(*)为?节点)
哪里
{ 
服务
{
?s?p?o
}
}
如果失败,则可能是您连接的服务不正确或不正常。 尝试以下连接到DBpedia的示例:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT (count (*) as ?nodes)
WHERE
{ 
   SERVICE <http://DBpedia.org/sparql>
   {
      ?s ?p ?o
   }
}
前缀rdf:
前缀rdfs:
选择(计数(*)为?节点)
哪里
{ 
服务
{
?s?p?o
}
}
顺便说一句,我可以;无法访问URL。似乎不可用或已关闭。

请尝试使用关键字

前缀rdf:
前缀rdfs:
选择(计数(*)为?节点)
哪里
{ 
服务
{
?s?p?o
}
}
如果失败,则可能是您连接的服务不正确或不正常。 尝试以下连接到DBpedia的示例:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT (count (*) as ?nodes)
WHERE
{ 
   SERVICE <http://DBpedia.org/sparql>
   {
      ?s ?p ?o
   }
}
前缀rdf:
前缀rdfs:
选择(计数(*)为?节点)
哪里
{ 
服务
{
?s?p?o
}
}

顺便说一句,我可以;无法访问URL。似乎不可用或已关闭。

此外,我怀疑图表中是否包含所有数据。您可以很容易地看到,只使用了两个属性:
skos:prefLabel
skos:altLabel
从{s?p?o}
中选择distinct?p,这显然不是整个NIF数据集。再一次,下载所有数据并将其加载到本地三元组存储中,然后使用SPARQLfind all GRAPS:
SELECT DISTINCT?g WHERE{graph?g{s?p?o}order by?g
前缀rdf:SELECT DISTINCT?p FROM WHERE{s?p?o}order by?p
任何开源三元组存储(Fuseki、Virtuoso等)显然能够加载这个小数据集。我的意思是,使用生物门户是可以的,但终点不是生产。你对此没有任何控制权,如果服务中断,你又被卡住了。最好将它加载到您自己的三重存储中。这个小数据集不需要那么多资源,我只需要将它加载到本地Fuseki中,而不需要Tomcat。Fuseki有一个独立的版本,请参阅-您可以从命令行启动它。360万不是很大,应该行得通。此外,我怀疑图表中是否包含所有数据。您可以很容易地看到,只使用了两个属性:
skos:prefLabel
skos:altLabel
从{s?p?o}
中选择distinct?p,这显然不是整个NIF数据集。再一次,下载所有数据并将其加载到本地三元组存储中,然后使用SPARQLfind all GRAPS:
SELECT DISTINCT?g WHERE{graph?g{s?p?o}order by?g
前缀rdf:SELECT DISTINCT?p FROM WHERE{s?p?o}order by?p
任何开源三元组存储(Fuseki、Virtuoso等)显然能够加载这个小数据集。我的意思是,使用生物门户是可以的,但终点不是生产。你对此没有任何控制权,如果服务中断,你又被卡住了。最好将它加载到您自己的三重存储中。这个小数据集不需要那么多资源,我只需要将它加载到本地Fuseki中,而不需要Tomcat。Fuseki有一个独立的版本,请参阅-您可以从命令行启动它。360万不是很大,应该可以了谢谢你的投入。我两个都试过了,但它仍然显示相同的7984!你试过DBpedia吗?它对我有用。它基本上连接到服务端点以查询其图形模型。是的,仍然是相同的结果!我甚至删除了所有的cookies,因为你说你会得到结果。您是否使用过此地址:?@RFNO请检查您的SPARQL执行器是否允许通过服务命令进行访问。似乎不是这样!我以为你使用了我提供的端点。请问您使用的是哪个端点?谢谢您的输入。我两个都试过了,但它仍然显示相同的7984!你试过DBpedia吗?它对我有用。它基本上连接到服务端点以查询其图形模型。是的,仍然是相同的结果!我甚至删除了所有的cookies,因为你说你会得到结果。您是否使用过此地址:?@RFNO请检查您的SPARQL执行器是否允许通过服务命令进行访问。似乎不是这样!我以为你使用了我提供的端点。请问您使用的是哪个端点?