在Bioportal上使用SPARQL查询图形的一个问题
我正在查询一个本体论。本体(NIF)存储为图形,因此我将其作为端点指示放在FROM子句中在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(
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执行器是否允许通过服务命令进行访问。似乎不是这样!我以为你使用了我提供的端点。请问您使用的是哪个端点?