- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用来自 javacode 的 sparql 查询 DBPedia对于某些查询,它可以完美地工作,而对于另一个它不起作用。我认为我的查询没有错误,因为我已经在 DBPedia aparql 端点中对其进行了测试。这是我的 Java 代码:
package ja1;
import com.hp.hpl.jena.query.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.util.*;
public class Q_DBP_Online {
public static void main(String[]args)
{
sparqlTest();
}
public static void sparqlTest()
{
/*String queryString = "SELECT ?o WHERE {"+
"?s ?p ?o ."+
"} LIMIT 10";*/
String str="Obama";
String queryString = "PREFIX pr:<http://xmlns.com/foaf/0.1/>" +
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"+
"SELECT DISTINCT ?s ?label WHERE {" +
"?s rdfs:label ?label . "+
"?s a pr:Person."+
"FILTER (lang(?label) = 'en'). "+
"?label bif:contains"+str+" ."+
"}";
Query query = QueryFactory.create(queryString);
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query);
try
{
ResultSet results = qexec.execSelect();
while(results.hasNext()){
QuerySolution soln = results.nextSolution();
//Literal name = soln.getLiteral("x");
System.out.println(soln);
}
}
finally{
qexec.close();
}
}
}
因此第一个被注释的查询运行完美,第二个查询没有运行,我在 netbeans 中收到此消息:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/rodwan/Desktop/Th_Pr/apache-jena-2.12.1/lib/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/rodwan/Desktop/Th_Pr/pellet-2.3.1/lib/jena/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Exception in thread "main" com.hp.hpl.jena.query.QueryParseException: Encountered " "(" "( "" at line 1, column 169.
Was expecting one of:
"values" ...
"graph" ...
"optional" ...
"minus" ...
"bind" ...
"service" ...
"filter" ...
"{" ...
"}" ...
";" ...
"," ...
"." ...
at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:102)
at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:53)
at com.hp.hpl.jena.sparql.lang.SPARQLParser.parse(SPARQLParser.java:37)
at com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:148)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:80)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:53)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:41)
at ja1.Q_DBP_Online.sparqlTest(Q_DBP_Online.java:38)
at ja1.Q_DBP_Online.main(Q_DBP_Online.java:18)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
----------------------------------
最佳答案
我试过你的例子,但似乎缺少一些空格。以下是我在 DBPedia 上的工作:
PREFIX pr:<http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?s ?label WHERE {?s rdfs:label ?label . ?s a pr:Person . FILTER (lang(?label) = 'en') . ?label bif:contains "Obama" .}
Java 的翻译看起来像这样:
String queryString = "PREFIX pr:<http://xmlns.com/foaf/0.1/>\n" +
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"+
"SELECT DISTINCT ?s ?label WHERE {" + "?s rdfs:label ?label . "+
"?s a pr:Person . "+
"FILTER (lang(?label) = 'en') . "+
"?label bif:contains \""+str+"\" ."+
"}";
希望这对您有所帮助。
关于java - 使用 sparql、java、Jena API 查询 DBPedia 本体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29592241/
我正在尝试查询所有机场及其 IATA 代码的列表: PREFIX p: PREFIX o: PREFIX rdf: SELECT DISTINCT ?airport ?iata ?name WH
我知道 live.dbpedia.org 更接近 dbpedia.org 数据的实时版本,但这引发了一个问题,常规 dbpedia 提取/更新进程运行的频率是多少?数据转储多久更新一次?此外,据说除了
我正在使用 dbpedia download page 提供的不同数据集。并发现它有点过时了。 然后我从 dbpedia live 下载了最新的转储地点。当我提取 6 月 30 日的文件时,我得到了一
使用 dbpedia-spotlight API 是否有任何限制? 我找到了此处记录的端点 https://www.dbpedia-spotlight.org/api但该页面并未提及任何限制(例如 r
使用 dbpedia-spotlight API 是否有任何限制? 我找到了此处记录的端点 https://www.dbpedia-spotlight.org/api但该页面并未提及任何限制(例如 r
我正在处理 DBpedia 数据集,并使用 Apache Jena 在本地 Jena TDB 数据集上执行 SPARQL。我只从 DBpedia Downloads 下载了部分文件这样我就可以将数据集
在使用 DBpedia 提取框架时,我遇到了来自核心数据集的 csv 文件的问题。我有兴趣从 dbpedia 转储(RDF 格式)中提取数据(在我的例子中,是所有公司维基百科页面的摘要)。我正在按照
访问 http://dbpedia.org/resource/Cupertino显示有关库比蒂诺的 DBpedia RDF 信息。如您所见,它具有以下属性和值(value): dbpedia-owl:
我正在尝试使用 sparql 从 dbpedia 中提取包含人名等的实体字典。 PREFIX owl: PREFIX dbpprop: SELECT ?name WHERE { ?pers
我的理解是,根据 http://wiki.dbpedia.org/Datasets,DBpedia 从 YAGO 获取类层次结构,而不是实体。 .但是,类似 http://dbpedia.org/cl
DBPedia/SPARQL/语义数据初学者。我运行了以下查询以“找出每个运动员的运动” select ?athlete ?sport where { ?athlete rdf:type .
我正在探索如何使用Wikipedia的分类信息从内容中提取标签/关键字。 我找到了有关DBPedia的文章。 DBpedia是社区的一项工作,旨在从Wikipedia中提取结构化信息,并使该信息在We
我可以定义(或计算)DBPedia 和维基百科数据之间的差异,例如有关厄瓜多尔人的数据吗? DBpedia 是否包含与 Wikipedia 中存在的厄瓜多尔人相同的内容?如果不是 - 有什么区别(例如
我想开始使用 DBpedia。目前我所知道的是 DBpedia 是 Wikipedia 数据的结构化形式,可以使用 SPARQL 进行查询。对我来说,DBpedia 的基本思想(为维基百科数据提供结构
我有一些非常基本的 DBpedia 查询,它们的响应速度非常慢。我不确定这是否是 DBpedia.org 本身的性能问题。例如,以下 DBpedia 查询对我来说需要 2 到 4 秒,我的网络术语非常
我从 http://spotlight.dbpedia.org/download/release-0.5/dbpedia-spotlight-quickstart.zip 安装了 DBpedia Sp
我对这个语义网络主题有点陌生,尤其是 DBpedia,尽管我阅读了很多相关内容,但我找不到任何关于确定 DBpedia 对象之间链接权重的可能性的信息。例如,是否有可能确定 PHP 与 Symfony
我正在尝试使用此 SPARQL 查询从 DBpedia 获取所有类型: select ?type { ?type a owl:Class . } 现在,我还想包括查询返回的每种类型的英文标签。我
如何从 dbpedia 中获取前 10 名最 Alpine 的列表? 我不知道如何开始,因为我在寻找特定山峰的正确属性时已经失败了。我在中找不到“海拔”或“高度”的任何属性 http://dbpedi
我已经忘记了关于 DBpedia 和 SPARQL 的所有新知识,并且在我用 Google 搜索时发现所有示例都太复杂且难以理解。 我想做的是传入两个或三个维基百科页面,并取回所有页面所属的维基百科类
我是一名优秀的程序员,十分优秀!