Преобразование данных из документа в реляционную базу данных - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь преобразовать некоторые тексты законов в реляционные таблицы.Я исчерпал все онлайн-ресурсы, поэтому я решил задать этот вопрос, потому что я не знаю, что делать дальше.

У меня есть предложение, которое сохраняется в БД, которое соответствует этой структуре:

Заголовок -> Глава -> Статья -> Раздел -> Подраздел -> Предложение

Проблема в том, что предложение может быть где угодно, и у любого элемента в структуре не должно быть родителя:

Ex1:
Title 1
   sentence 1
   sentence 2
   sentence 3
   Chapter 1
       sentence 4
   Chapter 2
       Article 1
           sentence 5
           Section 1
               Subsection 1
                   sentence 6

Ex2:
Article 1
   sentence 7
   sentence 8
   Section 1
       sentence 9
       sentence 10

1 Ответ

0 голосов
/ 19 ноября 2018

Представленный пример является хорошим примером, когда ориентированная на документы модель данных лучше, чем реляционная.Однако вы всегда можете сопоставить любую иерархическую схему базы данных с реляционной.Например.

item_types
----------
id  name
--- ----------
1   Title
2   Chapter
3   Article
4   Section
5   Subsection
6   Sentence

textes
------
id  name
--- -----------
1   Test text 1
2   Test text 2

text_structure (Key: text_id + item_index)
--------------
text_id  item_index parent_index item_type content
-------  ---------- ------------ --------- ------------
1        1          NULL         1         Title 1
1        2          1            6         sentence 1
1        3          1            6         sentence 2
1        4          1            6         sentence 3
1        5          1            2         Chapter 1
1        6          5            6         sentence 4
...
2        1          NULL         3         Article 1
2        2          1            6         sentence 7
2        3          1            6         sentence 8
2        4          1            4         Section 1
2        5          4            6         sentence 9
2        6          4            6         sentence 10
...