我是 Pentaho 的新用户,也许我的问题很简单。我有两个具有相同列的流,例如流 S1 具有列:A, B, C,流 S2 具有列:A, B, C(相同名称、相同顺序、相同数据类型)。我想将这两个流合并或追加到包含列A, B,的单个流中C。但是,当我使用合并联接(带有选项FUL OUTER JOIN)时,我的结果是一个包含以下列的流:A, B, C, A_1, B_1, C_1。这不是我想要的。我尝试使用附加流步骤,但在这种情况下,预览中没有显示任何内容。
我创建了一个SPARQL查询来比较年份dbo:birthDate是否与以下值不同dbo:birthYear:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dbo: <http://dbpedia.org/ontology/>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
Select distinct ?s ?vv1 ?vv2 where
{ ?s a dbo:Person ; dbo:birthDate ?v1 .
?s dbo:birthYear ?v2 .
bind(year(xsd:date(?v1)) as ?vv1) .
bind(xsd:gYear(?v2) as ?vv2) .
filter(?vv1 != ?vv2)
}
Run Code Online (Sandbox Code Playgroud)
我得到了以下答案:
S vv1 vv2
<http://example.com/resource/1> 1993 1993
<http://example.com/resource/5> 1998 1993
<http://example.com/resource/7> 1978 1978
<http://example.com/resource/13> 1993 1993
Run Code Online (Sandbox Code Playgroud)
正确的答案只是资源5,即年份birthDate等于1998和年份birthYear等于1993.答案显示,vv1并且vv2没有多年的价值" " …