Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sparql 对于“CONCAT”组,“CONCAT”\";被解释为空间_Sparql_Virtuoso - Fatal编程技术网

Sparql 对于“CONCAT”组,“CONCAT”\";被解释为空间

Sparql 对于“CONCAT”组,“CONCAT”\";被解释为空间,sparql,virtuoso,Sparql,Virtuoso,我希望将每个连接的结果放在一个新行中(结果格式为HTML)。我用的是这样的东西: (Group_Concat(DISTINCT ?result; separator = '\n ') as ?results) 但是,\n和\r都被解释为空格,而使用任何普通字符都可以 当我记得在dbpedia中使用\n时,我还想补充一下,我目前使用的是07.20.3214版本的VOS(如果是配置问题) (后加) 这是对建议使用的响应。这里是对dbpedia的一个查询,它与\n一起工作,但与一起工作,它不: P

我希望将每个连接的结果放在一个新行中(结果格式为HTML)。我用的是这样的东西:

(Group_Concat(DISTINCT ?result; separator = '\n ') as ?results)
但是,
\n
\r
都被解释为空格,而使用任何普通字符都可以

当我记得在dbpedia中使用
\n
时,我还想补充一下,我目前使用的是07.20.3214版本的VOS(如果是配置问题)


(后加) 这是对建议使用

的响应。这里是对dbpedia的一个查询,它与
\n
一起工作,但与

一起工作,它不:

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
前缀rdf:
前缀o:
前缀dcterms:
前缀dc:
前缀foaf:
选择不同的名称
?维基百科页面
描述
(组(不同的影响者;分隔符='\n')作为受影响者)
(组(不同的受影响的;分隔符='\n')作为受影响的)
在哪里{
{?人rdf:o型:哲学家;
rdfs:标签?标签;
o:influencedBy/rdfs:label?influencer.}
可选{人员o:infected/rdfs:label?\u infected.}
?个人^foaf:primaryTopic?维基百科页面。
过滤器(lang(?label)=“en”)。
过滤器(lang(?influencer)=“en”)。
过滤器(lang(?u影响)=“en”)。
可选{?人o:抽象?抽象。
过滤器(lang(?abstract)=“en”)。}
绑定(str(?标签)为?名称)
绑定(str(?抽象)为描述)
}
按名称分组?维基百科页面?说明
限制10

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

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


是HTML标准的换行符,也是我希望用作分隔符的内容。在将最终结果显示为HTML表时,Virtuoso似乎正在转义该字符串的尖括号;这可能是一个bug,或者您的目标可能需要不同的方法


预计到达时间:您的
7.20.3214
不是最新的VOS。截至2015年11月06日,VOS的版本为
7.20.3215
,这是承载DBpedia的版本,我在的HTML源代码中看到了换行符,但我的浏览器中的渲染会使这些换行符变为空格,这与预期一致。

分隔符=“
”可能会起作用,但可能需要一些额外的工作,这取决于您输出此结果的方式。这不是sparql问题。html中的换行符并不意味着呈现文档中的换行符。如路易斯所说,如果你想要换行符,请使用“
”作为分隔符。请参阅我在问题中添加的回答,因为我想提供一个示例。“VOS的最新版本”不是一个有用的描述。请提供明确的版本详细信息,这样就清楚了。@TallTed谢谢。完成。确实,这似乎是合乎逻辑的,但当放置“
”时,我将“
”作为分隔符,而不是行。当我在另一个enpoint上尝试它时,也会发生同样的情况,例如dbpedia。但有趣的是,在dbpedia“\n”中,而“
”没有,给出了与我在内部端点中得到的相同的结果。此注释显著地改变了您的问题……可能您发现了一个bug;可能还有别的事情。与任何特定于演奏家的问题一样,我(受雇于OpenLink软件)建议您在特定于演奏家的领域提出这个问题——公开,保密。一定要包括你的演奏家的完整版本@velitchkov您指的是实际结果,还是DBpedia的端点如何在一个漂亮的HTML表中格式化它们?如果实际结果是关闭的,我会感到惊讶,但是如果HTML呈现逃逸了HTML,这可能会破坏呈现的表,我一点也不奇怪。我是说HTML呈现。