Вы задали здесь несколько вопросов (что, помимо прочего, на самом деле не является наилучшей практикой для StackOverflow), но я думаю, что ключевой вопрос, который вы задаете:
Как добавить смысл в мой поиск?
Это действительно зависит от четкого понимания ценности бизнеса или опыта пользователя, которого вы пытаетесь предоставить. «Значение» является неточным термином - я думаю, вам будет гораздо проще проанализировать, какие технологии вам нужны, если вы сможете быть более точными в категориях вопросов, которые ваши пользователи должны задавать, и какие ответы они найдут полезными.
С учетом этого предостережения мой общий ответ на ваш общий вопрос будет состоять в том, что для интеграции информации из разнородных, разнородных источников информации вы должны иметь возможность концептуально связать их вместе с точки зрения того, что ваши пользователи поймет . Таким образом, не только низкоуровневое «это поле базы данных соответствует этому элементу XML», но, например, «этот набор данных регистрирует взаимодействия клиентов с отделом продаж, это статистика пропускной способности производственной линии, и они связаны через заказы в очереди заказов ". Это немного расплывчато, но это выдуманный пример, чтобы дать представление о том, что я имею в виду. Таким образом, способ связать информацию CRM со статистикой производства состоит в том, чтобы иметь некоторую коллекцию понятий , с которой вы можете связать все. В мире семантической паутины мы называем это онтология . Разработка онтологии, охватывающей весь ваш бизнес, вероятно, будет сложной, но вы можете, грубо говоря, применять гибкие методы для постепенного развития вашего понимания и вашей онтологической модели.
Получив онтологию, вы можете использовать библиотеки, такие как Jena, для того, чтобы помочь вам разобраться в извлечении информации из разрозненных источников и сохранить ее в форме, которая может быть связана с вашей онтологией. Преимущество явного указания своей онтологии с использованием языка, такого как RDFS, или, что еще лучше, OWL, заключается в том, что вы можете использовать инструменты автоматического рассуждения, чтобы автоматически делать новые выводы из ваших данных, или же представлять некоторые из ваших отображений данных как правила. Некоторые люди считают правила более абстрактным и понятным обозначением.
Есть много способов решить проблему, которую вы описываете, и Йена не даст вам решения per se . Я думаю, что наличие подходящей онтологии будет очень важно для того, что я понимаю в вашей проблеме. То, насколько сложной должна быть эта онтология, будет зависеть от сложности данных и потребностей пользователей, которые будут зависеть от более четкого понимания проблемы на уровне бизнеса. Как только вы это сделаете, выбор правильных инструментов RDF / OWL будет относительно простым.