SPARQL 中的 year() 函数
year() function in SPARQL
我想在 SPARQL 中查询 returns 2007 年的项目。
我试过了:
String requete7String =
"PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> "
+ "PREFIX dc: <http://purl.org/dc/elements/1.1/> "
+ "PREFIX rss: <http://purl.org/rss/1.0/> "
+ "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "
+ "SELECT ?item "
+ "FROM <http://www.w3.org/2001/sw/SW-FAQ-feed.rdf> "
+ "WHERE { "
+ " ?item rdf:type rss:item . "
+ " ?item dc:date ?dateString ."
+ " bind(strdt(?dateString, xsd:dateTime) as ?date) "
+ " FILTER (year(?date) = 2007) "
+ "}";
但它returns没什么。 FILTER (year(?date) = 2007)
行不起作用。但是,我在 SPARQL 文档中看到函数 year() 接受日期时间和 returns 整数,所以你能告诉我为什么它可能不起作用吗?
2007-04-12T00:00+00:00"^^xsd:dateTime不合法xsd:dateTime(时间部分应该是00:00:00 , 不是 00:00。因此它不是合法值,年份(非法)是错误的,过滤器是错误的。
我想在 SPARQL 中查询 returns 2007 年的项目。 我试过了:
String requete7String =
"PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> "
+ "PREFIX dc: <http://purl.org/dc/elements/1.1/> "
+ "PREFIX rss: <http://purl.org/rss/1.0/> "
+ "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "
+ "SELECT ?item "
+ "FROM <http://www.w3.org/2001/sw/SW-FAQ-feed.rdf> "
+ "WHERE { "
+ " ?item rdf:type rss:item . "
+ " ?item dc:date ?dateString ."
+ " bind(strdt(?dateString, xsd:dateTime) as ?date) "
+ " FILTER (year(?date) = 2007) "
+ "}";
但它returns没什么。 FILTER (year(?date) = 2007)
行不起作用。但是,我在 SPARQL 文档中看到函数 year() 接受日期时间和 returns 整数,所以你能告诉我为什么它可能不起作用吗?
2007-04-12T00:00+00:00"^^xsd:dateTime不合法xsd:dateTime(时间部分应该是00:00:00 , 不是 00:00。因此它不是合法值,年份(非法)是错误的,过滤器是错误的。