5

How can I get the Julian birth or death date for someone who was born or died under the Julian Calendar (Isaac Newton, for example) on Wikidata using a SPARQL query?

This simple query returns "4 January 1643," which is Newton's Gregorian birth date:

SELECT ?birthdate WHERE { wd:Q935 wdt:P569 ?birthdate . }

I've Googled (and DDGed) this up and have not come up with an answer. Any help you could offer would be great.

Orophile
  • 1,751
  • 4
  • 11
  • 30

1 Answers1

2

As of April 2018, there is no way (in SPARQL).

The RDF Dump format says:

Note that the calendar model is the original values calendar model even if wikibase:timeValue was converted to Gregorian.

Try this query:

SELECT * {
  wd:Q935 p:P569 [ wikibase:rank ?rank ;
                   ps:P569       ?simplevalue ;
                   psv:P569      [ wikibase:timeCalendarModel ?calendar ; 
                                   wikibase:timeValue         ?value     ]
                 ]
}

As you can see, there are two statements (one of them is not truthy), but the value is 4 January 1643 independently of the calendar model.

           rank             simplevalue      calendar          value      
 ------------------------ ---------------- ------------- ---------------- 
  wikibase:NormalRank      4 January 1643   wd:Q1985727   4 January 1643  
  wikibase:PreferredRank   4 January 1643   wd:Q1985786   4 January 1643

By the way, Wikidata API returns two different dates:

  1. "value": {
              "time": "+1643-01-04T00:00:00Z",
              "timezone": 0,
              "before": 0,
              "after": 0,
              "precision": 11,
              "calendarmodel": "http://www.wikidata.org/entity/Q1985727"
             }
    
  2. "value": {
              "time": "+1642-12-25T00:00:00Z",
              "timezone": 0,
              "before": 0,
              "after": 0,
              "precision": 11,
              "calendarmodel": "http://www.wikidata.org/entity/Q1985786"
            }
    
Stanislav Kralin
  • 2,975
  • 1
  • 12
  • 33