gpt4 book ai didi

sparql - 对于 GROUP_CONCAT, "\n"被解释为空格

转载 作者:行者123 更新时间:2023-12-02 06:55:04 26 4
gpt4 key购买 nike

我希望将每个串联结果放在一个新行中(结果格式为 HTML)。我使用类似的东西:

(Group_Concat(DISTINCT ?result; separator = '\n ') as ?results)

但是,\n\r被解释为空格,而使用任何普通字符都可以正常工作。

我记得在 dbpedia 中得到了我所期望的 \n ,我还要补充一点,我目前使用的是 07.20.3214 版本的 VOS(以防配置问题)。

<小时/>

(稍后添加)这是对 <br> 的建议用法的回应。这是 dbpedia 的查询,它适用于 \n但与 <br>事实并非如此:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX o: <http://dbpedia.org/ontology/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT DISTINCT ?name
?wikipedia_page
?description
(Group_Concat(DISTINCT ?influencer; separator = '\n') as ?influenced_by)
(Group_Concat(DISTINCT ?_influenced; separator = '\n') as ?influenced)

WHERE {

{?person rdf:type o:Philosopher ;
rdfs:label ?label;
o:influencedBy/rdfs:label ?influencer.}

OPTIONAL {?person o:influenced/rdfs:label ?_influenced.}

?person ^foaf:primaryTopic ?wikipedia_page .
FILTER (lang(?label) = "en") .
FILTER (lang(?influencer) = "en").
FILTER (lang(?_influenced) = "en").


OPTIONAL {?person o:abstract ?abstract .
FILTER (lang(?abstract) = "en") .}

BIND (str(?label) AS ?name)
BIND (str(?abstract) AS ?description)

}

GROUP BY ?name ?wikipedia_page ?description
LIMIT 10

最佳答案

正如 @LuisSiquot 和 @JoshuaTaylor 在评论中所说,这里的问题既不是 SPARQL 也不是 Virtuoso,而是 HTML 结果格式。

不保证在 HTML 渲染中保留空白(包括 \n\r\t 等)。事实上,它们被指定为由任何兼容的渲染器折叠到一个空间——您显然正在使用它。

<br>是 HTML 标准换行符,也是我期望的分隔符。当将最终结果呈现为 HTML 表格时,Virtuoso 似乎转义了该字符串的尖括号;这可能是一个错误,或者您的目标可能需要不同的方法。

预计到达时间:您的7.20.3214不是最新的VOS。截至2015年11月6日,VOS的值为7.20.3215 ,这是托管 DBpedia 的版本。 Running your query there ,我在 the results page 的 HTML 源代码中看到换行符,但我的浏览器中的渲染使它们变成了空格,正如预期的那样。

关于sparql - 对于 GROUP_CONCAT, "\n"被解释为空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35897756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com