Соедините разрозненные источники данных с TopBraid Composer

Я работаю над проверкой концепции, чтобы изучить, как соединить данные SPARQL из разных источников данных. У меня есть два класса OWL, каждый из которых имеет собственную модель данных, представляющую информацию, которую я извлек из двух разных систем. Модели данных выглядят так:

Order: id, itemName, quantity
Item: id, name, unitPrice

Я хотел бы соединить эти два типа вместе, используя поля Order.itemName и Item.name, и создать новое поле в классе Order для хранения общей цены заказа (order.quantity * item.unitPrice).

Это было бы довольно тривиально для SPARQL, но мы смотрим на TopBraid Composer из-за его возможностей графического отображения. Насколько я понимаю, используя SPINMap, мы сможем легко - и графически - определить вышеупомянутое свойство, но у меня возникли некоторые проблемы при соединении вещей.

Я следовал учебному пособию в справке TBC в разделе "Инструменты разработки приложений /SPIN/ Отображение онтологий с помощью SPINMap", но у меня возникают проблемы при попытке просто отобразить простой атрибут. Основываясь на этом справочном документе, на вкладке Диаграмма я рисую линию от класса элемента до класса заказа и выбираю функцию changeNamespace с соответствующим значением. Затем я нарисовал линию из класса Item в новое свойство класса Order, totalPrice, и установил для функции значение equals, просто чтобы посмотреть, смогу ли я получить свойство для отображения. После выполнения выводов я запускаю запрос SPARQL, и поле totalPrice пусто для всех моих классов Order. Я знаю, что это описание сбивало с толку - есть ли идея, что я должен делать, чтобы сделать эту работу?

1 ответ

Мэтт, на втором этапе вы используете свойство из класса Item для сопоставления с классом Order? Это должно работать без проблем для шаблона "равно".

Проверьте вкладку "Задания" в среднем нижнем ряду вкладок после выполнения вывода. Это покажет все материализованные выводы и может быть использовано для проверки того, что ваш SPINMap делает то, что вам нужно.

Также посмотрите на Configure Inferencing, чтобы убедиться, что выбран аргумент TopSPIN.

Другие вопросы по тегам