SPARQL-如何按个人选择?
当我这样询问时:SPARQL-如何按个人选择?,sparql,owl,Sparql,Owl,当我这样询问时: SELECT ?subject ?object WHERE { ?subject ont:has_author ?object} 我可以得到以下结果: subject:harry potter,object:J.K. Rowling 注:J.K.罗琳是班级的一名学生 但是当我这样询问时,我没有得到结果 SELECT ?subject WHERE { ?subject ont:has_author J. K. Rowling } 你知道为什么吗?可能是因为你没有指定
SELECT ?subject ?object WHERE { ?subject ont:has_author ?object}
我可以得到以下结果:
subject:harry potter,object:J.K. Rowling
注:J.K.罗琳是班级的一名学生
但是当我这样询问时,我没有得到结果
SELECT ?subject WHERE { ?subject ont:has_author J. K. Rowling }
你知道为什么吗?可能是因为你没有指定J.K.罗琳个人的名字空间 我希望你的提问是正确的
SELECT ?subject WHERE { ?subject ont:has_author ont:"J. K. Rowling"}
有两种选择。一个是康斯坦丁说的@fopa-lé 您可以询问J.K.Rowling的URI,也可以搜索名字literal J.K.Rowling
SELECT ?subject WHERE { ?subject ont:has_author ont:J_K_Rowling}
这稍微取决于您使用哪种SPARQL查询引擎,但下面是两个示例。
第一个取决于您是否拥有J.K.Rowling的URI
SELECT ?subject WHERE { ?subject ont:has_author ont:J_K_Rowling}
如果您想通过字符串搜索她的名字,那么第二步就完成了
SELECT ?subject
WHERE {
?subject ont:has_author ?author
FILTER (str(?author) = "J. K. Rowling")
}
通过查看您正在使用的本体,您应该知道应该使用哪种方法。
这里定义了ont:has_author是否将文本或URI作为对象 最好提供更多有关您的环境的详细信息。这样任何人都可以重现你的问题。例如:你的本体是什么?您在哪里以及如何存储您的个人信息?等等…这个查询不是合法的SPARQL语法:ont:J.K.罗琳不是URI或文字值的合法符号。谢谢你的回答!我已经解决了这个问题。