From 9931dbb34e6be28479fa8eb727cd075845604503 Mon Sep 17 00:00:00 2001
From: dcz <dcz@ipipan.waw.pl>
Date: Thu, 28 Sep 2023 16:09:56 +0200
Subject: [PATCH] Adding unexisted predefined selectional preferences synsets.

---
 ...defined_selectional_preferences_update.txt | 51 +++++++++++++
 .../commands/add_predefined_preferences.py    | 71 ++++++++++++++++++-
 2 files changed, 120 insertions(+), 2 deletions(-)
 create mode 100644 data/db_manual_updates/predefined_selectional_preferences_update.txt

diff --git a/data/db_manual_updates/predefined_selectional_preferences_update.txt b/data/db_manual_updates/predefined_selectional_preferences_update.txt
new file mode 100644
index 0000000..173b233
--- /dev/null
+++ b/data/db_manual_updates/predefined_selectional_preferences_update.txt
@@ -0,0 +1,51 @@
+OTOCZENIE:
+〈powierzchnia-2, rzecz-4, wytwór-2, pomieszczenie-3, osoba-1
+
+select base, synset_id from meanings_lexicalunit where base='powierzchnia' and sense='2';
+46651
+select base, synset_id from meanings_lexicalunit where base='rzecz' and sense='4';
+103156
+select base, synset_id from meanings_lexicalunit where base='wytwór' and sense='2';
+2605
+select base, synset_id from meanings_lexicalunit where base='pomieszczenie' and sense='3';
+4799
+select base, synset_id from meanings_lexicalunit where base='osoba' and sense='1';
+6047
+
+insert into semantics_selectivepreference (id) values (17);
+insert into semantics_selectivepreference_synsets (selectivepreference_id, synset_id) values (17, 46651),(17,103156),(17,2605),(17,4799),(17,6047);
+update semantics_predefinedselectionalpreference set members_id=17 where id=12;
+
+
+POŁOŻENIE: 〈miejsce-1, przestrzeń-1, obiekt-2>
+
+select base, synset_id from meanings_lexicalunit where base='miejsce' and sense='1';
+4750
+select base, synset_id from meanings_lexicalunit where base='przestrzeń' and sense='1';
+4897
+select base, synset_id from meanings_lexicalunit where base='obiekt' and sense='2';
+234224
+
+insert into semantics_selectivepreference (id) values (18);
+insert into semantics_selectivepreference_synsets (selectivepreference_id, synset_id) values (18, 4750),(18,4897),(18,234224);
+update semantics_predefinedselectionalpreference set members_id=18 where id=10;
+
+
+SYTUACJA
+〈czynność-1, zdarzenie-2, okoliczność-1, ciąg zdarzeń-1, CZASOWNIK-1〉
+
+select base, synset_id from meanings_lexicalunit where base='czynność' and sense='1';
+10765
+select base, synset_id from meanings_lexicalunit where base='zdarzenie' and sense='2';
+6526
+select base, synset_id from meanings_lexicalunit where base='okoliczność' and sense='1';
+247969
+select base, synset_id from meanings_lexicalunit where base='ciąg zdarzeń' and sense='1';
+47401
+select base, synset_id from meanings_lexicalunit where base='CZASOWNIK' and sense='1';
+55268
+
+
+insert into semantics_selectivepreference (id) values (19);
+insert into semantics_selectivepreference_synsets (selectivepreference_id, synset_id) values (19, 10765),(19, 6526),(19, 247969),(19, 47401),(19, 55268);
+update semantics_predefinedselectionalpreference set members_id=19 where id=17;
diff --git a/syntax/management/commands/add_predefined_preferences.py b/syntax/management/commands/add_predefined_preferences.py
index 89fd8fd..343ad3f 100644
--- a/syntax/management/commands/add_predefined_preferences.py
+++ b/syntax/management/commands/add_predefined_preferences.py
@@ -150,7 +150,24 @@ def create_predefined_preferences():
                                                                       members=jadlo_members,
                                                                       info='pokarm-1, napój-1')
 
+    #miejsce-1, przestrzeń-1, obiekt-2
+    polozenie_members = SelectivePreference()
+    polozenie_members.save()
+    miejsce_1 = LexicalUnit.objects.get(base='miejsce',
+                                       sense='1',
+                                       pos='noun').synset
+    polozenie_members.synsets.add(miejsce_1)
+    przestrzeń_1 = LexicalUnit.objects.get(base='przestrzeń',
+                                      sense='1',
+                                      pos='noun').synset
+    polozenie_members.synsets.add(przestrzeń_1)
+    obiekt_2 = LexicalUnit.objects.get(base='obiekt',
+                                        sense='2',
+                                        pos='noun').synset
+    polozenie_members.synsets.add(obiekt_2)
+    polozenie_members.save()
     polozenie, xx = PredefinedSelectionalPreference.objects.get_or_create(name='POŁOŻENIE',
+                                                                          members=polozenie_members,
                                                                           info='miejsce-1, przestrzeń-1, obiekt-2')
 
     # MIEJSCE: miejsce-1, przestrzeń-1, obiekt-2 ==> lokal-1, budynek-1, rejon-1, obszar-1, państwo-1, jednostka administracyjna-1, woda-4
@@ -173,7 +190,32 @@ def create_predefined_preferences():
                                                                         members=miejsce_members,
                                                                         info='lokal-1, budowla-1, rejon-1, obszar-1, państwo-1, jednostka administracyjna-1, woda-4')
 
-    polozenie, xx = PredefinedSelectionalPreference.objects.get_or_create(name='OTOCZENIE',
+    #powierzchnia-2, rzecz-4, wytwór-2, pomieszczenie-3, osoba-1
+    otoczenie_members = SelectivePreference()
+    otoczenie_members.save()
+    powierzchnia_1 = LexicalUnit.objects.get(base='powierzchnia',
+                                        sense='1',
+                                        pos='noun').synset
+    otoczenie_members.synsets.add(powierzchnia_1)
+    rzecz_4 = LexicalUnit.objects.get(base='rzecz',
+                                             sense='4',
+                                             pos='noun').synset
+    otoczenie_members.synsets.add(rzecz_4)
+    wytwór_2 = LexicalUnit.objects.get(base='wytwór',
+                                             sense='2',
+                                             pos='noun').synset
+    otoczenie_members.synsets.add(wytwór_2)
+    pomieszczenie_3 = LexicalUnit.objects.get(base='pomieszczenie',
+                                             sense='3',
+                                             pos='noun').synset
+    otoczenie_members.synsets.add(pomieszczenie_3)
+    osoba_1 = LexicalUnit.objects.get(base='osoba',
+                                             sense='1',
+                                             pos='noun').synset
+    otoczenie_members.synsets.add(osoba_1)
+    otoczenie_members.save()
+    otoczenie, xx = PredefinedSelectionalPreference.objects.get_or_create(name='OTOCZENIE',
+                                                                          members=otoczenie_members,
                                                                           info='powierzchnia-2, rzecz-4, wytwór-2, pomieszczenie-3, osoba-1')
 
 # CZAS: chwila-1, czas-3, czas-8, godzina-3
@@ -237,9 +279,34 @@ def create_predefined_preferences():
     czynnosc, xx = PredefinedSelectionalPreference.objects.get_or_create(name='CZYNNOŚĆ',
                                                                          members=czynnosc_members,
                                                                          info='czynność-1, czyn-1')
-    
+
+    #czynność-1, zdarzenie-2, okoliczność-1, ciąg zdarzeń-1, CZASOWNIK-1
+    sytuacja_members = SelectivePreference()
+    sytuacja_members.save()
+    czynnosc_1 = LexicalUnit.objects.get(base='czynność',
+                                         sense='1',
+                                         pos='noun').synset
+    sytuacja_members.synsets.add(czynnosc_1)
+    zdarzenie_1 = LexicalUnit.objects.get(base='zdarzenie',
+                                         sense='2',
+                                         pos='noun').synset
+    sytuacja_members.synsets.add(zdarzenie_1)
+    okoliczność_1 = LexicalUnit.objects.get(base='okoliczność',
+                                         sense='1',
+                                         pos='noun').synset
+    sytuacja_members.synsets.add(okoliczność_1)
+    ciąg_zdarzeń_1 = LexicalUnit.objects.get(base='ciąg zdarzeń',
+                                         sense='1',
+                                         pos='noun').synset
+    sytuacja_members.synsets.add(ciąg_zdarzeń_1)
+    czasownik_1 = LexicalUnit.objects.get(base='CZASOWNIK',
+                                         sense='1',
+                                         pos='noun').synset
+    sytuacja_members.synsets.add(czasownik_1)
+    sytuacja_members.save()
     # SYTUACJA ==> czynność-1, zdarzenie-2, okoliczność-1, ciąg zdarzeń-1
     sytuacja, xx = PredefinedSelectionalPreference.objects.get_or_create(name='SYTUACJA',
+                                                                         members=sytuacja_members,
                                                                          info='czynność-1, zdarzenie-2, okoliczność-1, ciąg zdarzeń-1')
     
     # KIEDY: CZAS, SYTUACJA
-- 
GitLab