Идея создания исторического календаря дня недели (тысячи лет) в RDF

Мне нужны ваши хорошие идеи. Я собираюсь создать большой набор данных для исторического календаря в RDF. Например, один день 1860 года в RDF/XML будет выглядеть просто (просто дата в формате ISO с днем ​​недели):

<abc:date rdf:about="https://example.com/date/1860-05-08">
   <abc:dayOfWeek>Tuesday</abc:dayOfWeek>
</abc:date>

По-видимому, мне нужно рассчитать день недели из ГГГГ-ММ-ДД. Таким образом, я хотел бы генерировать эти данные для дней c365 за каждый год. Общий охват составит около 4000 лет (2000 г. до н.э. - настоящее время), таким образом, включая догригорианский календарь. Если это слишком амбициозно, на данный момент достаточно 1800 и выше.

Что было бы хорошим способом добиться этого? Существует ли свободно доступная база данных (CSV и т. д.), из которой я мог бы автоматически генерировать такие данные?

(Потенциально было бы отлично, если бы можно было добавить дополнительную информацию:

<abc:date rdf:about="https://example.com/date/1860-05-08">
   <abc:dayOfWeek>Tuesday</abc:dayOfWeek>
   <abc:location rdf:about="https://www.wikidata.org/entity/Q1741">
      <abc:sunRise>4:29AM</abc:sunRise>
      <abc:sunSet>7:23PM</abc:sunSet>
   </abc:location>
</abc:date>

См. этот пример здесь: https://www.wolframalpha.com/input/?i=what+day+of+the+week+was+1860-05-08)

Спасибо за ваши идеи заранее!


person user7665853    schedule 10.12.2019    source источник
comment
Отвечает ли это на ваш вопрос? Определение дня недели для даты и времени в SPARQL   -  person TallTed    schedule 11.12.2019
comment
Спасибо за предложение! Эти вопросы и ответы интересны и полезны, когда данные уже доступны, но не отвечают на мой вопрос. Мой вопрос касается создания наборов данных (т.е. RDF) с нуля. У меня нет данных под рукой. Я ищу идеи для автоматической/программной генерации.   -  person user7665853    schedule 11.12.2019
comment
Вы прочитали все ответы на этот вопрос? Обратите внимание, что существует несколько функций дня недели, многие из которых не требуют никаких данных RDF. Если вы действительно хотите построить набор данных RDF, состоящий из { <https://example.com/date/1860-05-08> abc:dayOfWeek "Tuesday" } троек, вы можете сделать это с помощью цикла CONSTRUCT + INSERT, но это много ненужных данных, учитывая, что функции дадут вам тот же ответ. Пришло время подумать (и объяснить), почему вам нужны эти материализованные данные.   -  person TallTed    schedule 11.12.2019
comment
Большое спасибо за ваш совет. Насколько я понимаю, идея состоит в том, чтобы вычислить день недели с помощью языка программирования и соответственно сгенерировать RDF, нет? Хорошо знать, что есть способ сделать это.   -  person user7665853    schedule 12.12.2019
comment
Причина, по которой я бы подумал о материализации данных, заключается в следующем (Пожалуйста, поправьте меня, если я ошибаюсь, так как я размышляю только теоретически, поэтому реализация — это другой вопрос. Действительно, c365 x 4000 — это много графиков!):   -  person user7665853    schedule 12.12.2019
comment
1), как показано выше, могут быть прикреплены различные типы данных (восход солнца и т. д.). Обратите внимание, что моя идея состоит в том, чтобы создать узел с URI (а не литерал с типом данных даты). У меня есть исторические метеорологические данные, дневник, газета и т.д., которые нужно приложить. 2) было бы хорошо, если бы данные можно было искать в любое время (а не генерировать SPARQL на лету каждый раз), чтобы другие пользователи также могли обращаться к ним. 3) может быть быстрее использовать данные. Чтобы создать визуализацию статистики о том, что обычно происходит по вторникам за 100 лет, SPARQL будет медленным или дорогостоящим. 4) В Викиданных есть ежемесячные узлы: Q13067898.   -  person user7665853    schedule 12.12.2019