При написании RDF и RDFS вы должны создать один документ, охватывающий оба? или создать два отдельных документа? Аналогично xml и xmls.
Являются ли RDF и RDFS двумя отдельными документами?
Ответы (3)
Любой подход хорош, и это просто зависит от ваших предпочтений. На самом деле вы можете разделить данные RDF(S) между одним, двумя или более файлами по своему усмотрению.
Некоторые вещи, которые следует иметь в виду: для небольших/простых наборов данных хранение всего в одном файле может быть более удобным, но как только вы начнете работать с более крупной схемой (или большим количеством данных экземпляра), некоторое разделение может затруднить обработку данных. более гибкий.
Я думаю, что это действительно сводится к вопросу повторного использования. Например, в настоящее время у вас есть:
- А. схема
- B. набор некоторых данных экземпляра
Учитывая, что у вас есть эти две вещи, у вас есть два варианта:
- X. единый документ со схемой (+) и данными экземпляра
- Two documents:
- Y.1 one for schema (**)
- Y.2 один набор данных экземпляра
Теперь, если вы ожидаете, что в будущем будет другая коллекция данных экземпляра, отличная от первой, тогда есть два варианта:
- two documents:
- X.1 one with the schema (+) and first collection of instance data
- X.2 один со схемой (+) и второй набор данных экземпляра
- three documents:
- Y.1 one with schema (**)
- Y.2 один с первым набором данных экземпляра
- Y.3 один со вторым набором данных экземпляра
Если вы выберете второй подход, вы получите три документа, но один, помеченный (**), переносится из первого, и вам не нужно беспокоиться о его синхронизации. При первом подходе вам нужно убедиться, что копия схемы, отмеченная (+), одинакова в обоих случаях, и вы дублируете эту информацию в нескольких местах.
На практике, что из этого более важно, вероятно, зависит от того, с чем вы собираетесь иметь дело в будущем.
ABox против TBox
Я думаю, вы спрашиваете не о RDF и RDF, а о ABox (компонент утверждения) по сравнению с TBox (терминологический компонент).
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ex: <http://example.com/vocabulary/> .
# TBox
ex:Person rdf:type rdfs:Class .
ex:hasName
rdf:type rdf:Property ;
rdfs:range rdfs:Literal .
# not using rdfs:domain, because other things than ex:Person could have an ex:hasName
# ABox
<https://example.com/team/alice#i>
rdf:type ex:Person ;
ex:hasName "Alice" ;
rdfs:seeAlso <https://example.com/team/alice> .
Как показывает этот пример, обе части (ABox и TBox) могут использовать оба словаря (RDF и RDFS). Не имеет смысла разделять эти операторы на основе использования ими RDF и RDFS.
Отдельные документы?
Наличие или отсутствие TBox и ABox в одном документе в первую очередь зависит от вашего рабочего процесса. Иди с тем, что тебе легче.
Возможные причины наличия отдельных документов:
Другие могут захотеть использовать термины, определенные в вашем TBox, для своих собственных данных. Они могут получить документ с помощью вашего TBox (например, чтобы импортировать его в свой инструмент онтологии), не получая ABox (который их может даже не заинтересовать).
(И наоборот. Некоторые могут быть заинтересованы только в вашем ABox.)
Ваш ABox может стать настолько большим, что его уже невозможно будет разместить в одном документе. Вместо того, чтобы повторять свой TBox в каждом документе (ненужно) или вместо того, чтобы иметь его только в первом (несовместимо), вы можете иметь TBox в своем собственном документе и ABox в нескольких документах.
Если вы хотите использовать разные синтаксисы для ABox и TBox (по какой-либо причине).
:Alcohol owl:oneOf (:Vodka :Champagne :Bourbon :Tequila :Whiskey)
.
- person Stanislav Kralin; 13.04.2018