我正在使用此SPARQL查询查询dbpedia.org以获取有关Big Ben的描述:
select ?desc
where {
<http://dbpedia.org/resource/Big_Ben> <http://www.w3.org/2000/01/rdf-schema#comment> ?desc
}
Run Code Online (Sandbox Code Playgroud)
这将返回至少10种不同语言的描述列表.如何指定我只想要英文描述?
我有这样的SPARQL查询
PREFIX prefix: <http://example.org/ns#>
SELECT *
WHERE
{
?x rdf:type ?type .
}
Run Code Online (Sandbox Code Playgroud)
假设现在我想指定的类型?type为prefix:type1或者prefix:type2; 该怎么做?
我需要从DBpedia获取有关电影的数据.
我在http://dbpedia-live.openlinksw.com/sparql上使用SPARQL查询如下:
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/>
SELECT ?subject ?label ?released WHERE {
?subject rdf:type <http://dbpedia.org/ontology/Film>.
?subject rdfs:label ?label.
?subject <http://dbpedia.org/ontology/releaseDate> ?released.
FILTER(xsd:date(?released) >= "2000-01-01"^^xsd:date).
} ORDER BY ?released
LIMIT 20
Run Code Online (Sandbox Code Playgroud)
我试图获得2000年1月1日之后发行的电影.但引擎答案如下:
Virtuoso 22007 Error DT006: Cannot convert 2009-06-31 to datetime :
Too many days (31, the month has only 30)
SPARQL query:
define sql:big-data-const 0
#output-format:text/html
define sql:signal-void-variables 1 define input:default-graph-uri <http://dbpedia.org> 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/>
SELECT ?subject …Run Code Online (Sandbox Code Playgroud) 基本上我有一个有效工作的查询(如下所示).但是,我希望我的搜索更准确,标签是实际字符串'yago',而不是包含字符串'yago'.如果可能的话,我想尝试不使用过滤器,因为我认为使用FILTER会使查询DBpedia需要更长的时间.
SELECT ?uri ?label
WHERE {
?uri rdfs:label ?label.
?label bif:contains "'yago'" .
}
Run Code Online (Sandbox Code Playgroud) 我想知道SPARQL是否有相当于SQL"更新"的查询?我会在哪里为初学者找到它的教程?
在处理MySQL服务器中的大量行的脚本中,我使用dbSendQuery并fetch限制取得和处理结果.
当我的fetch命令确切地检索结果集中可用(或左)的行数时,保留0行以获取,dbHasCompleted返回FALSE而我希望它返回TRUE.
query <- "select record_id, name
from big_table left join another_table using (record_id)
limit 500"
resultset <- dbSendQuery(con, query) # con: DB connection
while(!dbHasCompleted(resultset)) {
input <- fetch(resultset, n = 500)
print(paste("Rows fetched:", nrow(input)))
# process input ...
}
Run Code Online (Sandbox Code Playgroud)
我希望这个循环运行一次,但是在处理之后有一个额外的运行,print再次调用:
Rows fetched: 500
...
Rows fetched: 0
Run Code Online (Sandbox Code Playgroud)
显然,dbHasCompleted(resultset)在获取可用行的确切数量时为false(对于n = 1000,2000,3000,观察到相同的行为).在此脚本中n = 501时,没有第二个循环.
这是预期的吗?难道我做错了什么?
我只是试图在DBpedia上运行一个小查询,查询本身可以工作,在这里看到它,但我不知道为什么它在与Jena这样做时返回,我得到null.
String service = "http://dbpedia.org/sparql";
String queryString = "";
queryString = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label" +
"WHERE {" +
"<http://dbpedia.org/resource/Quatre_Bornes> <http://dbpedia.org/ontology/country> ?y ."+
"?y rdfs:label ?label ."+
"FILTER (LANG(?label) = 'en')"+
"}";
Query query = QueryFactory.create(queryString);
QueryEngineHTTP qexec = QueryExecutionFactory.createServiceRequest(service, query);
ResultSet results = qexec.execSelect();
for ( ; results.hasNext() ; ) {
QuerySolution soln = results.nextSolution() ;
System.out.println(soln.getLiteral("label"));
}
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
这有效:
SELECT * WHERE{
?x rdfs:label "Chalti Ka Naam Gaadi"@en .
?x foaf:name ?z .
}
Run Code Online (Sandbox Code Playgroud)
这不是:
SELECT * WHERE{
?x foaf:name "Chalti Ka Naam Gaadi" .
?x rdfs:label ?z .
}
Run Code Online (Sandbox Code Playgroud)
为什么?
这可能是一个相当新手的问题,但RDF图和sparql查询只是让我困惑.这是我需要搜索的(EARL,评估和报告语言)RDF文件的相关部分:
<earl:Assertion>
<earl:subject rdf:nodeID="A1"/>
<earl:assertedBy rdf:nodeID="A2"/>
<earl:test rdf:resource="http://www.w3.org/TR/xhtml1/#C_2"/>
<earl:mode rdf:resource="http://www.w3.org/ns/earl#automatic"/>
<earl:result>
<earl:TestResult>
<earl:pointer>
<pnt:EquivalentPointers>
<pnt:groupPointer>
<pnt:LineCharPointer>
<pnt:charNumber rdf:datatype="http://www.w3.org/2001/XMLSchema#positiveInteger"
>108</pnt:charNumber>
<pnt:lineNumber rdf:datatype="http://www.w3.org/2001/XMLSchema#positiveInteger"
>9</pnt:lineNumber>
</pnt:LineCharPointer>
</pnt:groupPointer>
<pnt:groupPointer>
<pnt:CharOffsetPointer>
<pnt:offset rdf:datatype="http://www.w3.org/2001/XMLSchema#positiveInteger"
>935</pnt:offset>
</pnt:CharOffsetPointer>
</pnt:groupPointer>
</pnt:EquivalentPointers>
</earl:pointer>
<earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed"/>
<dct:description rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>A space character is missing before '/>'.</dct:description>
</earl:TestResult>
</earl:result>
</earl:Assertion>
Run Code Online (Sandbox Code Playgroud)
我想从这段摘录中得到什么:lineNumber(和charNumber),伯爵:结果失败的事实,以及描述.到目前为止,我能得到的只是行号,但结果给出了行号+"^^ http://www.w3.org/2001/XMLSchema#positiveInteger ".我不知道为什么会这样.
谢谢你的帮助!
此查询有效:
select ?value {
<http://dbpedia.org/resource/Henrik_Ibsen> dbpedia-owl:abstract ?value
filter langMatches(lang(?value),"en")
}
Run Code Online (Sandbox Code Playgroud)
为了获得缩略图,我假设我可以简单地更改为dbpedia-own:thumbnail,如下所示:
select ?value {
<http://dbpedia.org/resource/Henrik_Ibsen> dbpedia-owl:thumbnail ?value
filter langMatches(lang(?value),"en")
}
Run Code Online (Sandbox Code Playgroud)
但它返回空值.这些dbpedia-owl:abstract和dbpedia-owl:thumbnail属性都存在:http:
//dbpedia.org/page/Henrik_Ibsen
有人看到查询有什么问题吗?
我有一些本体论(campus.owl).有树类(学生,体育,讲师).学生类使用"has"对象属性与Lecturer类连接,Student类与带有"isPlay"对象属性的Sport类连接.
我想使用一些SPARQL查询获取Student和Lecturer之间的object属性.
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX my: <http://www.semanticweb.org/ontologies/2010/5/Ontology1275975684120.owl#>
SELECT ?prop
WHERE {
?prop ..........???
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我刚刚开始使用DBpedia和SPARQL.我想用它如下:
获取输入x,我想返回x的"Wikipage歧义",其中x是"Wikipage重定向"的可能值.换句话说,我想搜索所有"Wikipage disambiguates"寻找x并返回其相应的"Wikipage消歧".
我想用它在教育组织:http://dbpedia.org/fct/facet.vsp?iri=http%3A%2F%2Fschema.org%2FEducationalOrganization&sid=3532&cmd=new_with_class 和一般组织: HTTP:// DBpedia中.ORG/FCT/facet.vsp?IRI = HTTP%3A%2F%2Fdbpedia.org%2Fontology%2FCompany&SID = 3537&CMD = new_with_class
因此,我想请求您的帮助 - 我需要询问的问题是什么?
PS:我正在拼命寻找使用SPARQL和DBpedia的教程,却找不到任何符合我目标的东西.你能推荐我吗?
谢谢!:)
我创建了一个简单的查询来显示具有DataType属性值的主题.此查询在Protege 3.4.3中运行.但是当我在耶拿跑步时,我收到了这个标题"com.hp.hpl.jena.sparql.engine.ResultSetStream@16be68f".为什么?这是我的疑问:
PREFIX VB: <http://VBnet#>
SELECT ?x ?y
WHERE {
?x rdf:type VB:LearnerInformation .
?x VB:Name ?y
}
Run Code Online (Sandbox Code Playgroud)
LearnerInformation是一个类, Name是Datatype属性.