大佬教程收集整理的这篇文章主要介绍了rdf – 如何连接sparql中的值列表?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当我写一个像这样的查询
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-scheR_81_11845@a#> PREFIX dbpedia: <http://dbpedia.org/resource/>PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX category: <http://dbpedia.org/resource/Category:> PREFIX xsd: <http://www.w3.org/2001/XMLscheR_81_11845@a#>PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX dbpprop: <http://dbpedia.org/property/> PREFIX dbprop: <http://dbpedia.org/property/>PREFIX grs: <http://www.georss.org/georss/> PREFIX category: <http://dbpedia.org/resource/Category:> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX dbpprop: <http://dbpedia.org/property/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT DISTinCT ?x ?name ?abs ?birthDate ?birthplace ?year ?party ?office ?wiki WHERE { ?x owl:sameAs? dbpedia:Manmohan_Singh. ?x dbpprop:name ?name. ?x dbpedia-owl:birthDate ?birthDate. ?x dbpedia-owl:birthPlace ?birthplace. ?x dbpprop:years ?year. ?x dbpprop:party ?party. ?x dbpedia-owl:office ?office. ?x foaf:isPriMaryTopicOf ?wiki. ?x rdfs:comment ?abs. FILTER(lang(?abs) = 'en') }
我得到每年的结果在不同的行..因此重复其他列的数据.有没有一种方法可以将它作为一个列表中的列表,就像所有年份中的一个逗号分隔或像这样的smthng?
类似于prop dbpedia-owl:office
您可以使用GROUP_CONCAt来解决这个问题,但是您也需要使用disTinct,以避免在连接字符串中多次重复相同的年份. group by减少了解决方案中的行数,但在每个行中,您都有一组未分组的变量值.例如,因为?年不在组中,你有一组年份的值,你必须对它们做一些事情.你可以,例如,选择(样本(?年)为?aYear)从集合中只抓一个,或者你可以像我们在这里做的那样做,然后选择(GROUP_CONCAt(disTinct?year; separator =“,”)) as?years)将不同的值连接成一个字符串.
你需要一个像下面这样的查询,它产生一行:
SELECT ?x (GROUP_CONCAt(disTinct ?name;separator="; ") as ?names) ?abs ?birthDate (GROUP_CONCAt(disTinct ?birthplace;separator=",") as ?birthPlaces) (GROUP_CONCAt(disTinct ?year;separator=",") as ?years) ?party (GROUP_CONCAt(disTinct ?office;separator=",") as ?offices) ?wiki WHERE { ?x owl:sameAs? dbpedia:Manmohan_Singh. ?x dbpprop:name ?name. ?x dbpedia-owl:birthDate ?birthDate. ?x dbpedia-owl:birthPlace ?birthplace. ?x dbpprop:years ?year. ?x dbpprop:party ?party. ?x dbpedia-owl:office ?office. ?x foaf:isPriMaryTopicOf ?wiki. ?x rdfs:comment ?abs. FILTER(langMatches(lang(?abs),"en")) } group by ?x ?abs ?birthDate ?party ?wiki
以上是大佬教程为你收集整理的rdf – 如何连接sparql中的值列表?全部内容,希望文章能够帮你解决rdf – 如何连接sparql中的值列表?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。