标签: fuseki

构造成命名图

我试图使用SPARQL Construct查询从现有的查询创建一个新的命名图.我查询的数据库包含http://graph.com/old现有的命名图.我使用Jena TDB作为数据库,通过Jena Fuseki端点访问.以下查询给出了一个错误:

CONSTRUCT
{
    GRAPH <http://graph.com/new> {
        ?s ?p ?o
    }
}

WHERE
{
    GRAPH <http://graph.com/old> {
        ?s ?p ?o
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我从CONSTRUCT块中删除图形语句,查询工作正常,但我想将三元组放入我指定的命名图形而不是默认图形.

据我所知,CONSTRUCT上的SPARQL 1.1部分没有说明构建命名图的任何内容.有没有办法做到这一点?

rdf sparql jena fuseki named-graphs

15
推荐指数
1
解决办法
5014
查看次数

什么是SPARQL查询以获取我的triplestore中存在的所有图形的名称?

我想在我的Fuseki服务器中获取所有现有图形的名称,它应该返回一个带有所有图形名称列表的消息.

rdf sparql fuseki named-graphs

8
推荐指数
2
解决办法
5776
查看次数

查询大型RDF数据集内存不足

我想在我的机器上下载两个或更多数据集,并能够为每个数据集启动一个SPARQL端点.我尝试了Fuseki,这是Jena项目的一部分.然而,它加载到内存整个数据集,如果我打算查询的大型数据集等给出我打算做其他的东西DBpedia中是不是很想要的(启动多个SPARQL端点和使用联合查询系统对他们).

为了让您了解一下,我打算使用SILK链接多个数据集,使用FEDX联合查询系统查询它们.如果你建议改变我正在使用的系统,或者可以给我一个提示,那就太好了.如果您建议可以适合此项目的数据集,那么它也将是一个很好的帮助.

semantic-web sparql jena fuseki

6
推荐指数
1
解决办法
2165
查看次数

如何使用SPARQL计算有向图的最大度?

我在两个单独的查询中计算了有向图中每个节点的入度和出度:

SELECT ?s (COUNT(*) AS ?outdegree) 
{ ?s ?p ?o }
GROUP BY ?s
ORDER BY DESC(?outdegree) 

SELECT ?o (COUNT(*) AS ?indegree) 
{ ?s ?p ?o }
GROUP BY ?o
ORDER BY DESC(?indegree)  
Run Code Online (Sandbox Code Playgroud)

我需要计算图的最大度数。由于有向图的最大度是图的最大(入度+出度)值,我想知道如何组合上述两个查询的结果来计算它。

另外,如果有更有效的方法来做到这一点,也请提出建议。

sparql jena fuseki

6
推荐指数
1
解决办法
1483
查看次数

CONSTRUCT/WHERE中的SPARQL函数

我主要在处理查询时使用SPARQL SELECT进行调试,但最后我想以CONSTRUCT方式使用最终结果; 因为我想使用图形而不是键/值查询结果.

我还没有得到(并且似乎无法找到搜索引擎/文档)是我可以使用这样的功能.作为一个例子,我使用属性路径来连接我进入"超级字符串"的标题,我后来用它来构建Lucene索引以提高纯文本搜索质量:

PREFIX dc: <http://purl.org/dc/elements/1.1/>    

SELECT (group_concat(?title ; separator = " ") AS ?fancytitle) WHERE { 
  GRAPH ?graph {
    <http://data.staatsarchiv-bs.ch/id/archivalresource/CH-000027-1/pa-633c-a-312-fasc-163>  dc:relation+ ?relation .
    ?relation dc:title ?title .
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我想和?fancytitle新三人一样

<http://data.staatsarchiv-bs.ch/id/archivalresource/CH-000027-1/pa-633c-a-312-fasc-163> <fancytitle> ?fancytitle .
Run Code Online (Sandbox Code Playgroud)

所以我可以将它直接存储在一个新的图表中.这可能吗?我玩了一些查询,但无法让它被SPARQL处理器接受.仅供我使用Fuseki.

您可以在我的SPARQL端点上试用它

rdf sparql fuseki

6
推荐指数
2
解决办法
1318
查看次数

命名图表v Apache Jena Fuseki中的默认图表行为

我们正在运行Apache Jena Fuseki.

如果我们上传graphA和graphB

SELECT (COUNT(*) as ?count) 
FROM <graphA> 
FROM <graphB> 
WHERE { ?s ?p ?o . }
Run Code Online (Sandbox Code Playgroud)

给100分

如果我们将A和B中的三元组上传到默认值

SELECT (COUNT(*) as ?count) 
WHERE { ?s ?p ?o . }
Run Code Online (Sandbox Code Playgroud)

给200

在FROM示例中,graphA和graphB之间似乎没有进行推理?

我们如何解决这个问题?

用Fuseki,TDB和命名图找到推理?但不明白是否是同一个问题.

示例数据:图A:

Mdworking:Measure
  a       owl:Class ;
  mdmm:elementName "Measure" .
Run Code Online (Sandbox Code Playgroud)

图B:

Mddemobank:Account_Balance
  a       owl:Class ;
  rdfs:subClassOf Mdworking:Measure ;
  mdmm:elementName "Account_Balance" .

Mddemobank:Sub_Account_Balance
  a       owl:Class ;
  rdfs:subClassOf Mddemobank:Account_Balance ;
  mdmm:elementName "Sub_Account_Balance" .
Run Code Online (Sandbox Code Playgroud)

查询:

SELECT ?subject ?predicate ?object
FROM <A>
FROM <B>    
WHERE {
  ?subject …
Run Code Online (Sandbox Code Playgroud)

jena fuseki

6
推荐指数
0
解决办法
446
查看次数

你如何在fuseki中使用用户定义的函数?

我在某个服务器上运行了一个 Fuseki 端点。我想使用 Jena 的com.hp.hpl.jena.sparql.function库传递用户定义的函数。不幸的是,我收到错误:

URI <java:path.to.functions.halfString> has no registered function factory
Run Code Online (Sandbox Code Playgroud)

我确保将类(包含文件的 jar)添加到类路径中,并且我可以从该服务器上使用此类的其他应用程序访问此类。

我现在正在尝试的示例案例是一些函数,它采用图中所有三元组的主题并返回每个主题的前半部分。

作为参考,我添加了以下功能:

URI <java:path.to.functions.halfString> has no registered function factory
Run Code Online (Sandbox Code Playgroud)

这是我使用的 SPARQL 查询:

PREFIX f: <path.to.functions.>

SELECT ?half ?s ?o ?g
WHERE {

    ?s ?p ?o

    BIND (f:halfString(str(?s)) as ?half)
}
Run Code Online (Sandbox Code Playgroud)

运行 Fuseki(使用 fuseki 提供的默认配置):

cd FUSEKI_HOME
./fuseki-server --mem /ds
Run Code Online (Sandbox Code Playgroud)

sparql jena fuseki

5
推荐指数
1
解决办法
748
查看次数

数据导入期间超出了Fuseki GC开销限制

我正在尝试在启动时将LinkedMDB(6.1m三倍)导入我的本地版本的jena-fuseki:

/path/to/fuseki-server --file=/path/to/linkedmdb.nt /ds
Run Code Online (Sandbox Code Playgroud)

并运行一分钟,然后死于以下错误:

Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
    at com.hp.hpl.jena.graph.Node$3.construct(Node.java:318)
    at com.hp.hpl.jena.graph.Node.create(Node.java:344)
    at com.hp.hpl.jena.graph.NodeFactory.createURI(NodeFactory.java:48)
    at org.apache.jena.riot.system.RiotLib.createIRIorBNode(RiotLib.java:80)
    at org.apache.jena.riot.system.ParserProfileBase.createURI(ParserProfileBase.java:107)
    at org.apache.jena.riot.system.ParserProfileBase.create(ParserProfileBase.java:156)
    at org.apache.jena.riot.lang.LangNTriples.tokenAsNode(LangNTriples.java:97)
    at org.apache.jena.riot.lang.LangNTriples.parseOne(LangNTriples.java:90)
    at org.apache.jena.riot.lang.LangNTriples.runParser(LangNTriples.java:54)
    at org.apache.jena.riot.lang.LangBase.parse(LangBase.java:42)
    at org.apache.jena.riot.RDFParserRegistry$ReaderRIOTFactoryImpl$1.read(RDFParserRegistry.java:142)
    at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:818)
    at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:679)
    at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:211)
    at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:104)
    at org.apache.jena.fuseki.FusekiCmd.processModulesAndArgs(FusekiCmd.java:251)
    at arq.cmdline.CmdArgModule.process(CmdArgModule.java:51)
    at arq.cmdline.CmdMain.mainMethod(CmdMain.java:100)
    at arq.cmdline.CmdMain.mainRun(CmdMain.java:63)
    at arq.cmdline.CmdMain.mainRun(CmdMain.java:50)
    at org.apache.jena.fuseki.FusekiCmd.main(FusekiCmd.java:141)
Run Code Online (Sandbox Code Playgroud)

有没有办法可以提高内存限制或以较少的密集方式导入数据?

为了比较,当我使用一百万个三重源文件时,它会在不到10秒的时间内导入.

java rdf sparql jena fuseki

5
推荐指数
1
解决办法
2413
查看次数

查询多个 TDB 数据集

使用:jena-fuseki-1.1.0, apache-jena-2.12.0

我想要达到的目标和我目前的状态:

我正在尝试使用从 wiki.dbpedia.org/Downloads2014 作为 .nt 文件下载的 dbpedia Persondata(英语和德语)、跨语言链接、图像和维基百科文章链接来设置本地 jena-fuseki 服务器。我想对它们运行下面的 SPAQRL-Query 并获得与 dbpedia.org/sparql 相同的结果。这个查询应该给我所有在德国斯图加特出生的人,包括他们的姓名、生日、英语和德语描述文本、维基百科链接、图片链接和简短描述。

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX : <http://dbpedia.org/resource/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX dbpedia: <http://dbpedia.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dbo: <http://dbpedia.org/ontology/>

SELECT ?name ?birth ?description_en ?description_de ?wiki ?description ?pic
WHERE {
   ?person dbo:birthPlace :Stuttgart .
   ?person dbo:birthDate ?birth .
   ?person foaf:name ?name .
   OPTIONAL{
      ?person dc:description ?description .
      FILTER (LANG(?description) = 'en') …
Run Code Online (Sandbox Code Playgroud)

sparql jena dbpedia fuseki tdb

5
推荐指数
1
解决办法
2428
查看次数

用Fuseki,TDB和命名图进行推理?

我正在为Fuseki 2中的TDB数据集提供一个包含10-20个命名图的数据集。我想使用推理程序对我的数据进行推断。我想看到的行为是,在每个图中推断出的三元组应该出现在这些图中(尽管如果三元组也出现在默认图中也可以)。有没有简单的配置方法?我还没有找到与我要尝试匹配的任何配置示例。

我尝试过的配置与以下标准示例非常相似。

数据集TDB-> GraphTDB-> InfModel-> RDFDataset

我看到的数据的最终视图只是数据的很小一部分(似乎所有命名的图都沿着该管道放置在某个地方,只剩下很小的默认图)。使用tdb:unionDefaultGraph似乎对此没有影响。

prefix :        <#> .
@prefix fuseki:  <http://jena.apache.org/fuseki#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .

# Example of a data service with SPARQL query and update on an 
# inference model.  Data is taken from TDB.

## ---------------------------------------------------------------
## Service with only SPARQL query on an inference model.
## Inference model base data is in TDB.

<#service2>  rdf:type fuseki:Service ;
fuseki:name              "inf" ; …
Run Code Online (Sandbox Code Playgroud)

jena reasoning fuseki tdb named-graphs

5
推荐指数
1
解决办法
1117
查看次数

标签 统计

fuseki ×10

jena ×8

sparql ×8

rdf ×4

named-graphs ×3

tdb ×2

dbpedia ×1

java ×1

reasoning ×1

semantic-web ×1