我目前使用的http://dbpedia.org/snorql网站推出类似下面的一些基本要求:过滤SPARQL结果由日,月
PREFIX dbpedia0: <http://dbpedia.org/ontology/>
SELECT ?body ?value WHERE {
?body a dbpedia0:Person.
?body dbpedia0:birthDate ?value.
}
ORDER BY ?value
我想找个过滤结果的方式这样才有人出生日期X
月Y
正在选择(无论出生年份)。我一直在尝试了许多方法,如这样做:
1)基本过滤:FILTER(xsd:date(?value) = "2000-01-01"^^xsd:date)
但我不现在如何确切的事实,我不关心这一年...
2)使用MONTH()
和DAY()
函数应该导致整数值代表月份和日期......但是这些似乎不起作用,因为我的日期类型被认为是一个无效的输入参数。
3)将日期转换为字符串变量。然后测试此字符串变量(对应于月份和日期)的结束字符是否与所需的月份和日期匹配。这将是这样的:FILTER(STRENDS(CONVERT(CHAR, ?value),"01-01") = true)
显然,上面列出的方法都没有适当的工作......哈哈。 请不要责怪我的请求糟糕的语法,因为我刚刚开始使用SPARQL命令。
我会非常感谢任何帮助或其他在那里!
为什么添加标签MYSQL和SQL?你为什么在谈论“我刚刚开始使用SQL”命令? SPARQL!= SQL – AKSW
并且格式化问题也有帮助,请按照http://stackoverflow.com/help/formatting – AKSW
DBpedia数据是非常不同的,尤其是日期文字是xsd:date,xsd:dateTime,xsd:gYear,等等这使得它非常难以投射和过滤 – AKSW