Openlink Virtuoso不使用SERVICE条款

时间:2015-10-11 15:12:08

标签: sparql semantic-web virtuoso fuseki d2rq

我正在尝试从Virtuoso和Fuseki-server运行以下查询。我使用SERVICE子句连接到D2R的SPARQL端点。 问题是,虽然Fuseki正确应用FILTER,但Virtuoso不会这样做并返回整个未过滤的结果集。

我使用Virtuoso版本号07.20.3214用于Windows,Fuseki服务器版本2和D2RQ版本0.8.1

查询如下

SELECT ?line ?state ?arrivalTime ?idRide
WHERE 
{
    {  
    SELECT ?ride (MAX(?avmr) AS ?avmrLast)
    WHERE
    {
    ?bs rdf:type km4c:BusStop.
    ?bs foaf:name "COLONNA".
    SERVICE <http://localhost:2020/sparql>
    {     
        ?bsf km4c:isForecastOfBusStop ?bs.
        ?bsf km4c:isForecastOfAVM ?avmr.
        ?ride km4c:hasAVMRecord ?avmr.
    }       
    }
GROUP BY ?ride ORDER BY DESC (?avmrLast) LIMIT 15
}

?bs rdf:type km4c:BusStop.
?bs foaf:name "COLONNA". 
SERVICE <http://localhost:2020/sparql>
{ 
    ?forecast km4c:isForecastOfBusStop ?bs .
    ?forecast km4c:isForecastOfAVM ?avmrLast .
    ?forecast km4c:expectedTime ?arrivalTime.
    ?avmrLast km4c:concernLine ?line.
    ?avmrLast km4c:rideState ?state.
    ?ride dcterms:identifier ?idRide.
}  
FILTER(?arrivalTime> "2015-01-01T09:00:00+02:00")
} ORDER BY ?arrivalTime

重点是FILTER未应用。使用Virtuoso,我得到?arrivalTime <= 2015-01-01T09:00:00+02:00的结果,而Fuseki工作正常。

如果我运行“普通”查询,例如没有SERVICEFILTER也可以在Virtuoso中正常运行。

原因可能是什么?

0 个答案:

没有答案