В своем семантическом веб-приложении вы используете RDF или собственную модель внутреннего представления?
-
02-07-2019 - |
Вопрос
Если вы работали над проектом, в котором хранятся данные для использования в семантической сети, используете ли вы RDF или даже OWL в качестве внутреннего формата данных или у вас есть собственная модель/онтология данных, которую вы сопоставляете с RDF для обеспечения совместимости?
Если вы используете RDF, каков ваш опыт реализации различных вещей, таких как циклические иерархии классов?
Если вы занимаетесь своим делом, чем оно отличается от RDF/OWL?
Решение
Я работаю вместе с командой Jena в HP (более того, сам внес свой вклад в Jena), поэтому использование Jena — довольно простой выбор в нашей команде.Однако есть и другие причины, помимо простого удобства «соседнего скамейки».Различные стандарты семантической сети содержат немало деталей и сложностей, и разобраться в них самостоятельно непросто.Я столкнулся с рядом загружаемых онтологий и других наборов данных, которые, например, не соответствуют спецификации IRI.В полностью автономном приложении, вероятно, не имеет большого значения, если вы нарушаете стандарты, но в этом случае вам нужно спросить, почему вы вообще используете методы семантической сети.Для меня большой ценностью подхода semweb для приложения является взаимодействие данных и связывание открытых данных, и в этом случае соответствие стандартам имеет решающее значение.
Большая часть моих данных хранится в тройном хранилище, но я использую пользовательские таблицы в качестве индексов для часто задаваемых запросов.Если вы заранее знаете шаблон запроса, хорошо индексированную таблицу в хорошем движке базы данных будет трудно превзойти для общего бессхемного тройного хранилища.
Очевидно, что одним из недостатков использования Jena является то, что она специфична для Java.Я использую Jena с jruby, но с нетерпением жду хорошей собственной RDF-библиотеки Ruby (работа в процессе).Мне также хотелось бы более полной поддержки RDF/OWL в Javascript и Flex, когда мы создаем сложные насыщенные клиентские интерфейсы.
Ян
Другие советы
Сейчас я работаю над некоторыми действительно небольшими проектами в этой области и «в основном» использую там RDF, хотя для целей синтаксического анализа я использую простой URI-реестр, чтобы избежать циклов в самой структуре данных.Хотя должен сказать, что я все еще нахожусь на концептуальной стадии этих проектов.В конце концов, я в основном полагаюсь на сторонние хранилища, такие как Jena, rdflib и др.