Якобус,

С годами я пришел к выводу, что иметь расширение «лазейка» для языка в сочетании с регулярным циклом пересмотра предпочтительнее, чем пытаться создать универсальный набор функций, обеспечивающих единообразие запросов между различными поставщиками, для некоторые причины.

  • Разные платформы имеют разные возможности. Если у меня есть микрофотография в браузере, то ей, скорее всего, не нужен полноценный аналитический набор, а вот крупномасштабная система логического вывода, распределенная по тысяче узлов, понадобится.
  • Это позволяет тестировать экспериментальные функции, которые могут оказаться полезными, когда они будут переданы органам стандартизации. У нас не всегда все получается с первого раза.
  • Стандартные тела медленные. SPARQL 1.1 потребовалось семь лет, чтобы увидеть свет после выпуска версии 1.0.
  • Технологии меняются. SHACL готов отодвинуть RDF от OWL и даже RIF точно так же, как XSD отодвинул XML от DTD. SHACL имеет потенциальные взаимозависимости SPARQL, и, вероятно, SPARQL может быть изменен в свою очередь.
  • Рынок уже фрагментирован. Marklogic предоставляет весь свой API. SPIN был прежде всего проприетарным расширением. У Stardog есть собственные расширения, как и у OntoText. Лучшее, на что вы можете надеяться, это то, что у вас есть подобный механизм для создания оболочки.
  • Сохранение баз данных. Как только вводится новая база данных, она почти никогда не удаляется, даже при разработке и тестировании. Пока у вас есть расширение, контролируемое кодером, вы можете создавать резервные копии в разных системах.

Я мог бы продолжать, но остальные в том же духе. Изящно расширяйтесь.