Разделение между TBox и ABox в Fuseki с TDB и Pubby

Для моего текущего проекта мне нужно загрузить набор данных и различные онтологии и представить все как связанные данные, используя Fuseki с TDB и Pubby. Pubby возьмет набор данных из одного места и создаст URI на основе этого места, поэтому, если нам понадобится несколько разных мест (как в случае с 23 отдельными онтологиями), это будет легко сделать с Pubby, добавив еще один набор данных.

Концепция набора данных, по-видимому, также применима к Fuseki.

По сути, мне нужно будет открыть три типа URI:

  • www.mywebsite.com/project/data
  • www.mywebsite.com/project/data/structure
  • www.mywebsite.com/project/ontology

Чтобы создать такие URI с помощью Pubby 0.3.3. вам нужно будет указать такие строки:

conf:dataset [
   conf:sparqlEndpoint <sparql_endpoint_url_ONE>;
   conf:sparqlDefaultGraph <sparql_default_graph_name_ONE>;
   conf:datasetBase <http://mywebsite.com/project/>;
   conf:datasetURIPattern "(data)/.*";
   (...)
]

Каждый набор данных, указанный в Pubby, будет брать данные с определенного URL-адреса (обычно это конечная точка SPARQL). Для онтологий у вас будет набор данных, который использует второй datasetURIPattern, подобный этому:

conf:dataset [
   conf:sparqlEndpoint <sparql_endpoint_url_TWO>;
   conf:sparqlDefaultGraph <sparql_default_graph_name_TWO>;
   conf:datasetBase <http://mywebsite.com/project/>;
   conf:datasetURIPattern "(ontology)/.*";
   (...)
]

Как видите, различия будут заключаться в следующем: conf:sparqlEndpoint (конечная точка SPARQL), conf:sparqlDefaultGraph (граф по умолчанию), conf:datasetURIPattern (необходим для создания реальных URI с помощью Pubby). Однако мне не ясно, как я могу иметь отдельные URI для наборов данных при использовании Fuseki. Например, при использовании Sesame я просто создаю два разных репозитория, и этот трюк прекрасно работает при публикации данных в Pubby. Не сразу понятно с

Примеры из официальной документации Fuseki представляют единый набор данных (только для чтения или нет и т. д.). , но ни один из них, кажется, не представляет такой сценарий. Не существует непосредственного примера четкого разделения между TBox и ABox, хотя это и является фундаментальным принципом связанных данных (см. Сохранение разделения ABox и TBox).

Насколько я понимаю, это должно быть возможно, но как? Также правильно ли, что TBox и ABox могут быть позже воссоединены под одной конечной точкой SPARQL с помощью (tdb:unionDefaultGraph true ;).


person paxRoman    schedule 29.09.2014    source источник
comment
Не совсем понятно, что вы спрашиваете. Префикс URI не имеет ничего общего с тем, где хранятся триплеты о нем. Похоже, вы хотите сохранить тройки ABox в одном именованном графике, а тройки TBox — в другом. Затем, если граф по умолчанию является объединением именованных графов, вы увидите содержимое обоих графов по умолчанию. С какой реальной проблемой вы столкнулись?   -  person Joshua Taylor    schedule 29.09.2014
comment
Кстати, концепция набора данных не уникальна для Jena Fuseki; это центральное место в SPARQL. Набор данных — это набор именованных графиков и график по умолчанию.   -  person Joshua Taylor    schedule 29.09.2014
comment
@JoshuaTaylor Путаница возникла из-за необходимости хранить несколько конфигураций наборов данных в Pubby для отображения разных URI, и я совершенно забыл об именованном графике, хотя использую их почти ежедневно ...   -  person paxRoman    schedule 29.09.2014


Ответы (1)


Концепция набора данных не уникальна для Jena Fuseki; это центральное место в SPARQL. Набор данных — это набор именованных графиков и график по умолчанию. Префикс URI не имеет ничего общего с тем, где хранятся триплеты о нем (будь то в именованном графе или в графе по умолчанию).

Похоже, вы хотите сохранить тройки ABox в одном именованном графике, а тройки TBox — в другом. Затем, если граф по умолчанию является объединением именованных графов, вы увидите содержимое обоих графов по умолчанию. Вы можете сделать это в Фусэки.

person Joshua Taylor    schedule 29.09.2014