2015-04-23 18 views
0

我想排除所有?结果是0.0。所以我需要一些类型为?FakturierterUmsatz != ?SummeVerbuchterAufwand的过滤器。SPARQL:从结果中排除0.0(初学者)

我尝试了几件事情(SPARQL新手),但似乎没有任何工作。

任何人都可以帮我解决这个问题吗?

SELECT DISTINCT 
    ?Projekt 
(SUM(distinct?FakturierterUmsatz) as ?SummeFakturierterUmsatz) 
(SUM(distinct ?VerbuchterAufwand) as ?SummeVerbuchterAufwand) 
(?FakturierterUmsatz - ?SummeVerbuchterAufwand as ?Resultat) 

WHERE 
{ 

    ?Projekt <http://itopia.ch/iOntology/hasAbrechnung> ?Abrechnung. 
?Abrechnung <http://itopia.ch/iOntology/FakturierterUmsatz> ?FakturierterUmsatz. 
    ?Abrechnung <http://itopia.ch/iOntology/VerbuchterAufwand> ?VerbuchterAufwand . 
?Abrechnung <http://itopia.ch/iOntology/hasKunde> ?Kunde. 
}  
    GROUP BY ?Projekt ?FakturierterUmsatz 

回答

2

其实我用以下解决方案尝试过了,它似乎工作:

HAVING (?FakturierterUmsatz - ?SummeVerbuchterAufwand != 0) 
+1

实际上,因为你已经选择'((FakturierterUmsatz - SummeVerbuchterAufwand的结果)',你呢???可以做'HAVING(?Reultat!= 0)',它可以更清楚地捕捉到含义。 –