Представление транзакций / времени в RDF - PullRequest
0 голосов
/ 20 мая 2019

Мне нужно представить электронные медицинские карты в RDF.Этот вид данных зависит от времени.Итак, я хочу представить их как события.Я хочу использовать нечто похожее на базу данных Datomic .Datomic использует тройки с добавленным полем транзакции.Это дополнительное поле имеет метку времени и может содержать метаданные, определенные пользователем.Я хочу использовать именованные графики для записи данных транзакции / времени.

Например, в приведенном ниже запросе я ищу только тройки графиков из определенного редактора, созданного в определенную дату:

SELECT ?name ?mbox ?date
WHERE {
    ?g dc:publisher ?name ;
       dc:date ?date .
    GRAPH ?g
    { ?person foaf:name ?name ; foaf:mbox ?mbox }
}

Запросы, подобные этому, решат мою проблему.Мои опасения:

  • Я получу миллионы именованных графов.Будут ли они делать запросы SPARQL слишком медленными?
  • Тройное хранилище, которое я использую, Blazegraph , поддерживает вывод (влечет за собой), но заявляет, что: «Bigdata не поддерживает вывод в режиме квадраторов из коробки».Какие тройные хранилища поддерживают логический вывод с использованием квадратов (именованных графов)?
  • Существует ли лучший способ представления данных такого типа в RDF?Какое-то руководство по передовому опыту?

1 Ответ

0 голосов
/ 21 мая 2019

Я получу миллионы именованных графов.Будут ли они делать запросы SPARQL слишком медленными?

Вообще говоря, не обязательно, по крайней мере, не больше, чем добавление миллионов троек в один именованный граф.Но это действительно зависит от вашего тройного хранилища и от того, насколько он хорош при индексировании именованных графов.

Тройной магазин, который я использую, Blazegraph, поддерживает вывод (влечет за собой), но заявляет, что: «Bigdata не поддерживает вывод в режиме квадратора из коробки».Какие тройные магазины поддерживают вывод с использованием квадратов (именованных графиков)?

StackOverflow не совсем подходящая платформа для запроса рекомендаций по инструменту - я предлагаю вам немного погуглить, чтобы увидеть списки функций различныхдоступные триплеты.

Я также подозреваю, что в нужных вам масштабах производительность вывода может вас разочаровать (опять же, в зависимости от реализации, конечно).Вы уверены, что вам нужно сделать вывод?Не сказать, что вы определенно не должны этого делать, но в зависимости от выразительности нужного вам вывода, довольно часто можно обойтись немного творчески с точки зрения запросов.

Есть ли лучший способ представления данных такого типа в RDF?Какая-то рекомендация по передовому опыту?

Мне кажется, это разумный подход.Трудно судить о том, лучше ли другой путь, не зная больше о том, как вы собираетесь использовать эти данные, о шкале (в количестве троек) и т. Д. Что касается лучших практик: это примечание W3C о N-арных отношениях вRDF - хороший ресурс.Также: Как я могу выразить дополнительную информацию (время, вероятность) об отношении в RDF? .

...