Сейчас я провожу много исследований семантической сети и сложных моделей данных, которые представляют отношения между людьми и организациями. Я знал немного семантических онтологий, хотя никогда не понимал, что это используется, если не строить графики.
Я видел в университетской вики, что язык, на котором ставится под сомнение онтология, - это SPARQL (скажите мне, если я ошибаюсь).
Но недавно я увидел, что компания, создавшая семантическую онтологию, представила ее в форме GraphQL, которую я не знал (https://diffuseur.datatourisme.gouv.fr/graphql/voyager/).
Мне кажется, что семантические онтологии созданы для лучшего поиска информации, например, для создания чат-бота (это то, чем я хочу заниматься), но здесь они превратили семантическую онтологию в API, верно? Должен ли я сначала создать семантическую онтологию для создания GraphQL?
Не могли бы вы мне немного объяснить разницу между всем этим, честно говоря, для меня это немного расплывчато.
Привет, можете попробовать: framagit.org/datatourisme/ontology/tree/master


Быстро отличия заключаются в следующем:
SPARQL (протокол SPARQL и язык запросов RDF) - это язык, предназначенный для запросов к базам данных графов RDF (CRUD и др.). Это стандарт инструментов семантической паутины, предоставляемый Рекомендацией W3C.
GraphQL - это язык, созданный Facebook и сильно напоминающий JSON для взаимодействия с API. Это средство связи между клиентами и конечными точками сервера. Запрос сам определяет структуру ответа. Его использование не ограничивается SQL или NoSQL или ... «График» не означает «структуру из троек», как для RDF.
Это два разных языка для разных приложений.
Здравствуйте, спасибо за ваш ответ. Итак, что мне лучше использовать sparql или graphql для создания моего ИИ? Почему эта компания создала онтологию, а затем graphql? Использовали ли они онтологию для построения логики модели данных, а не graphql, чтобы запросить ее быстрее? Спасибо
GraphQL и SPARQL - это разные языки для разных целей. SPARQL - это язык для работы с Тройные магазины, наборами данных графов и узлами RDF. GraphQL - это язык API, желательно для работы со структурами JSON. Что касается вашего конкретного случая, я бы порекомендовал уточнить вашу цель по использованию ИИ в вашем приложении. Если вам необходимо применить набор данных графа в своем приложении, выполнить более подробное обнаружение знаний, например, рассуждения о наборе данных, тогда вам может потребоваться подход семантической паутины для применения SPARQL поверх вашего набора данных. Как вы можете видеть на рисунке ниже, семантическая сеть Web представляет различные уровни для выполнения обнаружения знаний, выполнения рассуждений с помощью проектирования онтологий и создания наборов данных RDF.
см. здесь, чтобы узнать больше. Если ваше приложение AI не имеет таких требований и вы можете выполнить анализ данных с помощью базы данных на основе JSON, GraphQL, вероятно, будет хорошим выбором для создания вашего API, поскольку в наши дни он широко используется различными веб-и мобильными приложениями. В частности, он используется для обмена вашими данными через разные платформы и микросервисы. См. здесь для получения дополнительной информации.
Спасибо, за чат-бота, какую из этих технологий вы бы использовали?
На первом рисунке, почему RDF находится выше XML? Означает ли это, что RDF каким-то образом требует XML и не может использоваться без него?
@ErwanPesle Я использую обе технологии в разных проектах. Я в основном использую семантическую сеть для глубоких исследований. Например, когда я хочу ответить на сложные запросы по базе данных графов. С другой стороны, я использую graphql в компании для создания API поверх реляционной базы данных вместо использования REST API.
@ jaco0646 XML - это в первую очередь формат сериализации, а RDF - в первую очередь модель данных. Другими словами, мы представляем данные в формате XML, в то время как RDF - это более высокий уровень и общий аспект структуры данных (например, каждый объект может быть определен как SUBJECT, OBJECT и PREDICATE). Таким образом, тройки RDF могут быть представлены в различных форматах, таких как черепаха, XML, .... Надеюсь, я смогу хорошо это объяснить! читайте здесь cambridgesemantics.com/blog/semantic-university/learn-rdf/…
Значит, на картинке XML - это только пример? Он мог сказать «Синтаксис: JSON-LD» и иметь то же значение?
@ jaco0646 Да, может быть. Фотография сделана с первой архитектуры SW. Время от времени в архитектуру добавлялось больше представлений данных.
Контекст
Дататуризм - это платформа, которая позволяет публиковать (через компонент Производитель) и потреблять (через компонент Диффузор) открытые данные, связанные с POI.
Похоже, вы связались с конкретным приложением, разработанным с помощью Диффузор с помощью GraphQL Voyager. Приложение демонстрирует возможности API GraphQL, предоставляемого Diffuseur.
Документация по API доступна здесь (на французском языке):
Проблема
Почему RDF
Отчасти из-за некоторой «бессхемности» RDF удобен в задачах интеграции разнородных данных:
Tourism national ontology structuring in a common sharing format the whole tourism data extracted from different official French data bases: entertainment and events, natural and cultural sites, leisure and sports activities, touristic products, tours, accomodations, shops, restaurants.
RDF - это семантический: в частности, RDF является самоописывающим.
SPARQL
SPARQL - это стандартизированный W3C язык для запросов RDF. Также были предложены другие языки запросов RDF.
Кстати, можно запрашивать источники, не относящиеся к RDF, с помощью SPARQL, например. грамм. определение отображений R2RML.
Самоопределение RDF и стандартность SPARQL устраняют необходимость создавать или изучать новый (дерьмовый) API каждый день.
GraphQL
Подобно SPARQL, GraphQL позволяет избежать множественных запросов.
GraphQL позволяет обертывать разные источники данных разных типов, но обычно это REST API.
Как видите, это возможный для обертывания конечной точки SPARQL (также существует HyperGraphQL).
Почему GraphQL
Почему Datatourisme предпочли GraphQL?
GraphQL ближе к разработчикам и технологиям, которые они используют в массовом порядке. В прошлом у JSON-LD была такая же мотивация (однако см. Мою заметку о JSON-LD здесь).
Как кажется, слой GraphQL Diffuseur обеспечивает поддержку ключей API и предотвращает слишком сложные запросы SPARQL.
Данные по-прежнему семантичны?
Ответ зависит от того, что вы подразумеваете под семантический. Был мнение, что даже реляционная модель вполне семантическая ...
Отвечу утвердительно, можно ли извлечь e. грамм. комментарий к свойству :rcs с GraphQL (и ответ кажется отрицательным).
Заключение
Отвечая на ваш прямой вопрос:
Отвечая на ваш косвенный вопрос:
См. Также: Как знания представлены в Siri - онтология или что-то еще?
Обновлять
Помимо HyperGraphQL, есть и другие интересные проекты конвергенции:
Спасибо за ваш впечатляющий ответ Станислав, Моя цель - помочь гражданам действовать и участвовать в повседневной жизни своего города, поэтому я подумал о создании онтологии для описания экосистемы города (отдельных лиц - организаций) и для IHM, чтобы создать чат-бота, ИИ. Есть ли у вас какие-нибудь советы?
@ErwanPesle, к сожалению, я не знаком с этой темой ... Надеюсь, интервью Т. Грубера будет полезно.
Очень важное различие, о котором я не упоминал в предыдущих ответах, заключается в том, что, хотя SPARQL является более мощным языком запросов в целом, он выдает только табличные данные, а GraphQL дает древовидные структуры, что важно в некоторых случаях реализации.
Кстати, ссылка сейчас не работает. Вы знаете актуальную ссылку?