当前位置: 首页 > 知识库问答 >
问题:

SPARQL查询从turtle文件返回日期

丁光华
2023-03-14

SPARQL查询从以下文件返回2001-2017年间的所有日记账的语法是什么?

@prefix c:<http://www.example.com/journal#> .


c:article1 c:title "Benifits of Computer" .
c:article1 c:author "Jhon Maur" .
c:article1 c:topic "Computers" .
c:article1 c:date "12/02/1978" .

c:article2 c:title "Eating Healthier" .
c:article2 c:author "Dr. Joe Green" .
c:article2 c:topic "Health" .
c:article2 c:date "10/13/1999" .

c:article3 c:title "Sports in America" .
c:article3 c:author "Tom Golds" .
c:article3 c:topic "Sports" .
c:article3 c:date "02/09/2004" .

c:article4 c:title "Students Jobs" .
c:article4 c:author "Harry Parsons" .
c:article4 c:topic "Commentary" .
c:article4 c:date "09/19/2012" .

c:article5 c:title "The Golden Age of IT" .
c:article5 c:author "Jhon Maur" .
c:article5 c:topic "Computers" .
c:article5 c:date "12/02/1990" .

c:article6 c:title "Health Foods to Avoid" .
c:article6 c:author "Dr. Joe Green" .
c:article6 c:topic "Heallth" .
c:article6 c:date "10/13/2007" .

c:article7 c:title "Boutique Languages" .
c:article7 c:author "Allister Rhodes" .
c:article7 c:topic "Computers" .
c:article7 c:date "02/09/2004" .

c:article8 c:title "Big Brother or Government" .
c:article8 c:author "Tomas Weiss" .
c:article8 c:topic "Commentary" .
c:article8 c:date "03/09/2016" .

c:article9 c:title "Getting a Good Job" .
c:article9 c:author "Joan Wiley" .
c:article9 c:topic "Commentary" .
c:article9 c:date "07/11/2014" .

c:article10 c:title "Scheduling Jobs in Python" .
c:article10 c:author "Tony Issacs" .
c:article10 c:topic "Computers" .
c:article10 c:date "01/09/2017" .

共有1个答案

澹台承
2023-03-14

如果您只使用字符串来表示日期,那么您必须进行一些字符串解析来获取年份。相反,您应该使用实际的数据类型文字(可能是xsd: dateTime)来表示时间,这样您就可以使用年函数,然后只需执行以下操作:

select ?article { 
  ?article c:date ?date 
  filter (2001 <= year(?date) && year(?date) <= 2017)
}

如果您真的致力于使用“mm/dd/yyyy”形式的字符串作为日期,那么您可以像这样提取值:

select ?article { 
  ?article c:date ?date 
  bind(?year as xsd:int(substr(?date, 7)))
  filter (2001 <= ?year && ?year <= 2017)
}
 类似资料:
  • 我不熟悉海龟格式的文件并用SPARQL查询它们。所以我有很多问题要解决,希望你能帮助我! 我有一个文件,名为设备CURT3.ttl并包含以下内容: 我正在使用Python3.5和一个名为RDFLib(https://github.com/RDFLib/rdflib)的库。我需要从一个文件称为设备读取CURT. rdf,将其序列化为设备3.ttl然后检索与设备相关的所有信息。例如,对于设备30883

  • 我正在尝试执行以下Sparql查询 它运行良好,并产生所需的结果http://localhost:7200/sparql即。GraphDB工作台。我想使用python做同样的查询,为此我生成以下查询URL通过点击"获取URL到当前查询"在GraphDB界面。 我试着为此写Python代码 但是,这会返回:错误-http状态(404)-无消息,请查看服务器日志以了解更多信息 在Python中查询Gr

  • 问题内容: 我有以下从数据库获取十六进制代码的函数 我的问题是我在回调函数中返回了结果,但getColour函数未返回任何内容。我希望getColour函数返回的值。 在我调用getColour的那一刻,它不返回任何内容 我尝试做类似的事情 但当然SELECT查询在返回值时已经完成 问题答案: 您只需要对回调中的db查询结果进行处理。就像。

  • 问题内容: 我想创建一个使用查询来计算值的函数,但返回值时遇到问题: 简而言之,我的查询是: 我收到一个SQL语法错误。 SQL错误(1064):您的SQL语法有错误; 问题答案: 假设这些都是通用名称(表将不是一个很好的表名),问题是您不能使用==进行比较。您还缺少一些关键语法(DECLARE,SELECT INTO等)。 更改为此: MySQL比较函数和运算符 相关问题:MYSQL中的单等于

  • 问题内容: 我想编写一个接受绑定变量(例如:NUM)的SQL查询,其输出由一列和:NUM行数组成,每一行都有其行号。也就是说,如果我们将:NUM作为7传递,则输出应为: 查询中不应有任何实际的数据库表,也不应使用PL / SQL代码。即在查询中仅应使用双重 有什么办法可以做到这一点? 问题答案: 您可以使用: …但是表必须包含等于或大于bind变量限制的行。 该链接演示了Oracle中的各种行号生

  • Firebase查询返回此查询的值 该项由model类捕获 但是,返回null