小编Jee*_*tra的帖子

SPARQL查询以获取特定uri的信息

我想获取具有特定uri(http://dbpedia.org/page/Weight_gain)的页面的id(或可能是其他信息).我试过这些:(没有一个有效)

select ?id WHERE {<http://dbpedia.org/page/Weight_gain>
<http://dbpedia.org/ontology/wikiPageID> ?id}

select ?uri ?id WHERE {?uri <http://dbpedia.org/ontology/wikiPageID> ?id.
FILTER (?uri = <http://dbpedia.org/page/Weight_gain>) }
Run Code Online (Sandbox Code Playgroud)

有什么建议?

sparql dbpedia

3
推荐指数
1
解决办法
3393
查看次数

清除命名图的最有效方法是什么?

我正在使用Ontotext GraphDB的一个实例,并且经常想要清除具有大量三元组的命名图.

目前,我的技术涉及向图形服务器发出SPARQL命令,该命令搜索并匹配命名图形中每个三元组的三重模式:

DELETE { GRAPH example:exampleGraph { ?s ?p ?o }} WHERE {?s ?p ?o .}
Run Code Online (Sandbox Code Playgroud)

当存在大量三元组时,这种方法通常需要相当长的时间来清除命名图.

我想知道是否有更有效的方法来做到这一点.即使是特定于三层商店的解决方案也是我可以接受的.

我还应该注意到我正在使用RDF4J库与图表进行通信.我知道某些解决方案可能适用于Ontotext Web界面,但我只对我可以以编程方式实现的解决方案感兴趣.

sparql graphdb rdf4j

3
推荐指数
1
解决办法
808
查看次数

如何消除SPARQL中的空结果集?

我正在Semantic Web下做一个项目.这是我正在使用的RDF文件的一个例子

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://www.xmlns.com/foaf/0.1">
<rdf:Description>
    <foaf:name>aricent</foaf:name>
   <foaf:url>www.placementhub.net</foaf:url>
  </rdf:Description>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

如果用户输入"准备aricent"来搜索链接,我编码的方式是将每个值"prepare","for","aricent"并动态生成SPARQL查询以查找相关记录.这是SPARQL查询

String queryString ="PREFIX rdf:http: //www.w3.org/1999/02/22-rdf-syntax-ns# "+"PREFIX foaf:http://www.xmlns.com/foaf/0.1 "+ "SELECT?name?url WHERE {?a foaf:name?name FILTER regex(?name,'"+ values [i] +"')?a foaf:url?url}";

其中values [i]现在在第一个循环中"准备",第二个循环中的"for"和第三个循环中的"aricent".在这种情况下,如果它被执行,我会得到

--------------------------------------
| name       | url                   |
======================================
|            |                       |
--------------------------------------

--------------------------------------
| name       | url                   |
======================================
|            |                       |
--------------------------------------

--------------------------------------
| name       | url                   |
======================================
| "aricent" | "www.placementhub.net" |
--------------------------------------
Run Code Online (Sandbox Code Playgroud)

因此,对于"prepare"和"for",结果集为空(没有值),结果仅为"aricent"获得,因为它在RDF中可用.您可以告诉我如何消除(只有具有值的表应该向用户显示获得的空结果集?我使用了JENA API.Thank You

resultset sparql jena

2
推荐指数
1
解决办法
689
查看次数

如何使用Sesame查询SPARQL端点(如DBPedia)?

我使用Sesame triplestore来存储我的数据.当我尝试使用带有Sesame的查询接口和外部资源(如dbpedia)时,我没有得到任何结果.在添加所有必需的前缀后,此查询返回带有snorql但不返回Sesame的结果:

select ?routes where {
  dbpedia:Polio_vaccine dbpprop:routesOfAdministration ?routes
}
Run Code Online (Sandbox Code Playgroud)

我需要改变什么?

sesame semantic-web sparql dbpedia linked-data

2
推荐指数
1
解决办法
1178
查看次数

如何使用 owlexplanation 项目获得不一致的解释

我对 GitHub 上 Matthew Horridge 的 owlexplanation 项目有疑问。

在README文件中有以下代码:

import org.semanticweb.owl.explanation.api.*;
import org.semanticweb.owlapi.model.*;
import org.semanticweb.owlapi.reasoner.OWLReasonerFactory;

OWLReasonerFactory rf = ; // Get hold of a reasoner factory
OWLOntology ont = ; // Reference to an OWLOntology

// Create the explanation generator factory which uses reasoners provided by the specified
// reasoner factory
ExplanationGeneratorFactory<OWLAxiom> genFac = ExplanationManager.createExplanationGeneratorFactory(rf);

// Now create the actual explanation generator for our ontology
ExplanationGenerator<OWLAxiom> gen = genFac.createExplanationGenerator(ont);

// Ask for explanations for some entailment
OWLAxiom entailment ; // …
Run Code Online (Sandbox Code Playgroud)

java owl consistency reasoning

2
推荐指数
1
解决办法
889
查看次数

在MarkLogic中优化SPARQL中的范围查询

我想编写一个SPARQL查询,它使用一组具有时间范围的实体来交叉引用具有单个时间点的实体.这是图形模式:

{
  ?entity :atTime  ?probe. 
  ?interval :startTime ?start ; 
            :endTime ?end . 

  FILTER (?start < ?probe) 
  FILTER (?probe < ?end)
}
Run Code Online (Sandbox Code Playgroud)

查询引擎运行此方法的一种方法是查找已:atTime定义的所有实体,查找所有间隔,并执行所有这些检查.但MarkLogic(以及大多数数据库)都有范围索引设施,因此可以更有效地完成.

我在ML文档中看到,您可以cts:contains在SPARQL中使用它来获取其字符串索引.有没有办法用范围查询做类似的事情?

有些数据库会像我在这里引用的那样识别代码中的设计模式,并且他们自己进行优化(这使代码保持标准!).也许MarkLogic这样做了吗?我找不到任何文件告诉我这件事.

sparql marklogic

2
推荐指数
1
解决办法
131
查看次数

多线程在swift ios中并行执行多个任务

我知道队列的创建并能够执行单个任务,但我如何并行执行多个任务。

并发队列---->

let concurrentQueue = DispatchQueue(label: "com.some.concurrentQueue", attributes: .concurrent)
concurrentQueue.async {
    //executable code

}
Run Code Online (Sandbox Code Playgroud)

无优先级的BackgroundQueue 默认--->

DispatchQueue.global().async {
    //executable code
}
Run Code Online (Sandbox Code Playgroud)

具有优先级的后台队列---->

DispatchQueue.global(qos: .userInitiated).async { //.userInteractive .background .default .unspecified
    //executable code
}
Run Code Online (Sandbox Code Playgroud)

回到主队列---->

DispatchQueue.main.async {
     //executable code
}
Run Code Online (Sandbox Code Playgroud)

所有都是异步的,但是我如何一次执行多个方法我应该如何快速编码。

multithreading ios swift swift4 dispatch-queue

2
推荐指数
1
解决办法
3662
查看次数

在neo4j中获得以下错误"java.lang.UnsupportedOperationException:....."

我有一个用例,我需要在neo4j中的并行线程中运行我的存储过程.我编写了存储过程并将其包含在neo4j插件中.但是当我运行存储过程时,我得到以下错误:

2016-06-24 05:45:54.683+0000 INFO  Remote interface available at http://localhost:7474/
java.lang.UnsupportedOperationException: Creating new transactions and/or spawning threads are not supported operations in store procedures.
    at org.neo4j.kernel.impl.proc.ProcedureGDBFacadeSPI.assertSameThread(ProcedureGDBFacadeSPI.java:108)
    at org.neo4j.kernel.impl.proc.ProcedureGDBFacadeSPI.isInOpenTransaction(ProcedureGDBFacadeSPI.java:124)
    at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:335)
    at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTx(GraphDatabaseFacade.java:330)
    at example.SearchTask.call(SearchTask.java:33)
    at example.SearchTask.call(SearchTask.java:17)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

我已经明白,在neo4j中自定义存储过程无法在并行线程中运行.

但我在寻找有什么方法可以并行运行它.

java neo4j graph-databases

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