Я создаю интранет в своей компании.
Мне интересно понять, как загружать данные, которые хранились в таблицах (Oracle, MySQL, SQL Server, Excel, Access, различные случайные списки), и загружать их в Neo4J или другую базу данных графов. В частности, что происходит, когда общие данные перекрывают существующие данные, уже существующие в системе.
Да, я знаю, что некоторые данные лучше всего моделируются в РСУБД, но меня раздражает эта идея, что, когда вам нужно наложить несколько отдельных таблиц, модель графа лучше, чем структура таблицы.
Например, я работаю в производственной среде. Мы работаем над крупным проектом, и из-за его сложности каждый отдел создал отдельную электронную таблицу Excel, в которой есть иерархия BOM (Bill Of Materials) в столбце слева, а затем несколько столбцов заметок и проверок, сделанных отдельными лицами. кто сделал эти листы.
Итак, одна из проблем - объединить все эти заметки в одно «представление», чтобы кто-то мог увидеть все проблемы, которые необходимо решить в любой конкретной части.
Вторая проблема заключается в том, что электронная таблица Excel плохо справляется с представлением иерархической спецификации, когда общий компонент используется более чем в одной подсборке. Это означает, что если кто-то напишет примечание о реле P34 в узле зажигания, тот же комментарий должен быть связан с реле P34, используемым в узле привода двигателя. Этого не произойдет в электронной таблице Excel.
Что касается интрасети компании, я хочу иметь возможность легко искать что угодно. Например, данные, связанные с номером детали, структурой спецификации, номером телефона, адресом электронной почты, политикой компании или процедурой. Я хочу даже расширить это, чтобы управлять аппаратными активами компьютера и установленным программным обеспечением.
Я предполагаю, что как только информационная сеть начнет заполняться, вы можете начать делать интересные обходы, такие как «Я хочу написать электронное письмо всем, кто работает над проектом XYZ». Люди будут связаны с проектом, потому что они будут отмечены как создающие и изменяющие данные в проекте XYZ. Таким образом, используя проект XYZ в качестве ключа поиска, будет создан огромный набор со всем, что связано с проектом XYZ. Включая ссылки на людей, создавших проект XYZ. Ссылки на людей будут связаны с их адресами электронной почты. Так что, благодаря их участию в проекте XYZ, они будут включены в мое электронное письмо. Это резко контрастирует с тем, что какой-то секретарь пытается вести список людей, работающих над проектом. Формируем множество списков. Мы тратим много времени на поддержание списков и их обновление.
Другой интересный обход может сообщить обо всех компьютерах, на которых установлено определенное программное обеспечение, по версиям. Этот отчет можно использовать для создания задач по удалению лишних копий старого программного обеспечения и для обновления людей, которым нужна последняя копия. Это также было бы полезно для отслеживания лицензий.