Pārlūkot izejas kodu

began dbpedia integration

tags/v2.0
Robin Thoni 7 gadus atpakaļ
vecāks
revīzija
51ffa2e869

+ 358
- 148
backend/WebSem/.idea/.idea.WebSem/.idea/workspace.xml Parādīt failu

@@ -2,7 +2,12 @@
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4 4
     <list default="true" id="8d054e21-e284-419c-acba-f672639639a4" name="Default" comment="">
5
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/.idea.WebSem/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/.idea.WebSem/.idea/workspace.xml" />
5
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/Business/ArticlesBusiness.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/Business/ArticlesBusiness.cs" />
6
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs" />
7
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/DataAccess/DbPediaDataAccess.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/DataAccess/DbPediaDataAccess.cs" />
8
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs" />
9
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs" />
10
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/WebApiWebSem/Startup.cs" afterPath="$PROJECT_DIR$/WebApiWebSem/Startup.cs" />
6 11
     </list>
7 12
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
8 13
     <option name="TRACKING_ENABLED" value="true" />
@@ -35,75 +40,76 @@
35 40
   <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
36 41
   <component name="FileEditorManager">
37 42
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
38
-      <file leaf-file-name="ArticlesDataAccess.cs" pinned="false" current-in-tab="false">
39
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
43
+      <file leaf-file-name="ArticlesBusiness.cs" pinned="false" current-in-tab="false">
44
+        <entry file="file://$PROJECT_DIR$/WebApiWebSem/Business/ArticlesBusiness.cs">
40 45
           <provider selected="true" editor-type-id="text-editor">
41
-            <state relative-caret-position="498">
42
-              <caret line="57" column="87" lean-forward="false" selection-start-line="57" selection-start-column="87" selection-end-line="57" selection-end-column="87" />
43
-              <folding />
44
-            </state>
45
-          </provider>
46
-        </entry>
47
-      </file>
48
-      <file leaf-file-name="appsettings.json" pinned="false" current-in-tab="false">
49
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/appsettings.json">
50
-          <provider selected="true" editor-type-id="text-editor">
51
-            <state relative-caret-position="0">
52
-              <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
53
-              <folding />
54
-            </state>
55
-          </provider>
56
-        </entry>
57
-      </file>
58
-      <file leaf-file-name="WsDbContext.cs" pinned="false" current-in-tab="false">
59
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContext.cs">
60
-          <provider selected="true" editor-type-id="text-editor">
61
-            <state relative-caret-position="90">
62
-              <caret line="5" column="36" lean-forward="false" selection-start-line="5" selection-start-column="25" selection-end-line="5" selection-end-column="36" />
63
-              <folding />
64
-            </state>
65
-          </provider>
66
-        </entry>
67
-      </file>
68
-      <file leaf-file-name="appsettings.Development.json" pinned="false" current-in-tab="false">
69
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json">
70
-          <provider selected="true" editor-type-id="text-editor">
71
-            <state relative-caret-position="252">
72
-              <caret line="14" column="1" lean-forward="false" selection-start-line="14" selection-start-column="1" selection-end-line="14" selection-end-column="1" />
73
-              <folding />
46
+            <state relative-caret-position="396">
47
+              <caret line="22" column="59" lean-forward="false" selection-start-line="22" selection-start-column="59" selection-end-line="22" selection-end-column="59" />
48
+              <folding>
49
+                <marker date="1489888100823" expanded="true" signature="6:240" ph="..." />
50
+                <marker date="1489888100823" expanded="true" signature="273:1202" ph="{...}" />
51
+                <marker date="1489888100823" expanded="true" signature="400:1200" ph="{...}" />
52
+                <marker date="1489888100823" expanded="true" signature="660:769" ph="{...}" />
53
+                <marker date="1489888100823" expanded="true" signature="875:1194" ph="{...}" />
54
+                <marker date="1489888100823" expanded="true" signature="946:1184" ph="/* var result = _dbPediaDataAccess.GetMultiple(request); ... */" />
55
+              </folding>
74 56
             </state>
75 57
           </provider>
76 58
         </entry>
77 59
       </file>
78
-      <file leaf-file-name="NuGet.Config" pinned="false" current-in-tab="true">
79
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/NuGet.Config">
60
+      <file leaf-file-name="DbPediaDataAccess.cs" pinned="false" current-in-tab="true">
61
+        <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/DbPediaDataAccess.cs">
80 62
           <provider selected="true" editor-type-id="text-editor">
81
-            <state relative-caret-position="108">
82
-              <caret line="6" column="16" lean-forward="true" selection-start-line="6" selection-start-column="16" selection-end-line="6" selection-end-column="16" />
83
-              <folding />
63
+            <state relative-caret-position="463">
64
+              <caret line="134" column="12" lean-forward="true" selection-start-line="134" selection-start-column="12" selection-end-line="134" selection-end-column="12" />
65
+              <folding>
66
+                <marker date="1489890980119" expanded="true" signature="6:327" ph="..." />
67
+                <marker date="1489890980119" expanded="true" signature="362:5964" ph="{...}" />
68
+                <marker date="1489890980119" expanded="true" signature="399:5962" ph="{...}" />
69
+                <marker date="1489890980119" expanded="true" signature="1211:1319" ph="{...}" />
70
+                <marker date="1489890980119" expanded="true" signature="1370:1451" ph="{...}" />
71
+                <marker date="1489890980119" expanded="true" signature="1516:1906" ph="{...}" />
72
+                <marker date="1489890980119" expanded="true" signature="1585:1754" ph="{...}" />
73
+                <marker date="1489890980119" expanded="true" signature="1786:1896" ph="{...}" />
74
+                <marker date="1489890980119" expanded="true" signature="1969:3220" ph="{...}" />
75
+                <marker date="1489890980119" expanded="true" signature="2030:2100" ph="{...}" />
76
+                <marker date="1489890980119" expanded="true" signature="2156:3186" ph="{...}" />
77
+                <marker date="1489890980119" expanded="true" signature="2279:2371" ph="{...}" />
78
+                <marker date="1489890980119" expanded="true" signature="2409:2498" ph="{...}" />
79
+                <marker date="1489890980119" expanded="true" signature="2547:2620" ph="{...}" />
80
+                <marker date="1489890980119" expanded="true" signature="2671:2750" ph="{...}" />
81
+                <marker date="1489890980119" expanded="true" signature="2802:2885" ph="{...}" />
82
+                <marker date="1489890980119" expanded="true" signature="2906:3172" ph="{...}" />
83
+                <marker date="1489890980119" expanded="true" signature="3002:3152" ph="{...}" />
84
+                <marker date="1489890980119" expanded="true" signature="3317:5956" ph="{...}" />
85
+                <marker date="1489890980119" expanded="true" signature="3586:4021" ph="{...}" />
86
+                <marker date="1489890980119" expanded="true" signature="4061:4741" ph="{...}" />
87
+                <marker date="1489890980119" expanded="true" signature="5018:5110" ph="{...}" />
88
+                <marker date="1489890980119" expanded="true" signature="5423:5513" ph="{...}" />
89
+                <marker date="1489890980119" expanded="true" signature="5584:5875" ph="{...}" />
90
+                <marker date="1489890980119" expanded="true" signature="5746:5851" ph="{...}" />
91
+              </folding>
84 92
             </state>
85 93
           </provider>
86 94
         </entry>
87 95
       </file>
88
-      <file leaf-file-name="project.json" pinned="false" current-in-tab="false">
89
-        <entry file="file://$PROJECT_DIR$/WebApiWebSem/project.json">
96
+      <file leaf-file-name="ModelsDbo.cs" pinned="false" current-in-tab="false">
97
+        <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs">
90 98
           <provider selected="true" editor-type-id="text-editor">
91
-            <state relative-caret-position="54">
92
-              <caret line="3" column="32" lean-forward="false" selection-start-line="3" selection-start-column="32" selection-end-line="3" selection-end-column="32" />
99
+            <state relative-caret-position="535">
100
+              <caret line="50" column="20" lean-forward="false" selection-start-line="50" selection-start-column="20" selection-end-line="50" selection-end-column="20" />
93 101
               <folding>
94
-                <marker date="1487108425286" expanded="true" signature="0:1500" ph="{...}" />
95
-                <marker date="1487108425286" expanded="true" signature="20:777" ph="{...}" />
96
-                <marker date="1487108425286" expanded="true" signature="87:155" ph="{...}" />
97
-                <marker date="1487108425286" expanded="true" signature="791:875" ph="{...}" />
98
-                <marker date="1487108425286" expanded="true" signature="894:1006" ph="{...}" />
99
-                <marker date="1487108425286" expanded="true" signature="917:1002" ph="{...}" />
100
-                <marker date="1487108425286" expanded="true" signature="936:996" ph="[...]" />
101
-                <marker date="1487108425286" expanded="true" signature="1027:1128" ph="{...}" />
102
-                <marker date="1487108425286" expanded="true" signature="1151:1219" ph="{...}" />
103
-                <marker date="1487108425286" expanded="true" signature="1177:1215" ph="{...}" />
104
-                <marker date="1487108425286" expanded="true" signature="1242:1353" ph="{...}" />
105
-                <marker date="1487108425286" expanded="true" signature="1259:1349" ph="[...]" />
106
-                <marker date="1487108425286" expanded="true" signature="1369:1498" ph="{...}" />
102
+                <marker date="1489889072103" expanded="true" signature="6:192" ph="..." />
103
+                <marker date="1489889072103" expanded="true" signature="227:1629" ph="{...}" />
104
+                <marker date="1489889072103" expanded="true" signature="263:1627" ph="{...}" />
105
+                <marker date="1489889072103" expanded="true" signature="343:635" ph="{...}" />
106
+                <marker date="1489889072103" expanded="true" signature="384:441" ph="{...}" />
107
+                <marker date="1489889072103" expanded="true" signature="495:624" ph="{...}" />
108
+                <marker date="1489889072103" expanded="true" signature="697:1309" ph="{...}" />
109
+                <marker date="1489889072103" expanded="true" signature="738:795" ph="{...}" />
110
+                <marker date="1489889072103" expanded="true" signature="843:1298" ph="{...}" />
111
+                <marker date="1489889072103" expanded="true" signature="1384:1621" ph="{...}" />
112
+                <marker date="1489889072103" expanded="true" signature="1462:1608" ph="{...}" />
107 113
               </folding>
108 114
             </state>
109 115
           </provider>
@@ -111,6 +117,14 @@
111 117
       </file>
112 118
     </leaf>
113 119
   </component>
120
+  <component name="FindInProjectRecents">
121
+    <findStrings>
122
+      <find>?article</find>
123
+    </findStrings>
124
+    <replaceStrings>
125
+      <replace>?id</replace>
126
+    </replaceStrings>
127
+  </component>
114 128
   <component name="Git.Settings">
115 129
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../.." />
116 130
   </component>
@@ -127,12 +141,10 @@
127 141
         <option value="$PROJECT_DIR$/WebApiWebSem/Program.cs" />
128 142
         <option value="$PROJECT_DIR$/WebApiWebSem/project.json" />
129 143
         <option value="$PROJECT_DIR$/Test/project.json" />
130
-        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/DbPediaDataAccess.cs" />
131 144
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesAddDbo.cs" />
132 145
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesEditDbo.cs" />
133 146
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsDbo.cs" />
134 147
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesEditDbo.cs" />
135
-        <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs" />
136 148
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesBasicDbo.cs" />
137 149
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesAddDbo.cs" />
138 150
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/f5/6ff48199/LuEfCrudDataAccess`6.cs" />
@@ -143,16 +155,20 @@
143 155
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/27/e8d84624/LuCrudInterfaceExtensions.cs" />
144 156
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/20/5bcc5074/ILuCrudInterface`4.cs" />
145 157
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/B004CFF6-238D-4ED0-8011-AF53475172BF/ef/575d29a5/EntityFrameworkQueryableExtensions.cs" />
146
-        <option value="$PROJECT_DIR$/WebApiWebSem/Business/ArticlesBusiness.cs" />
147 158
         <option value="$PROJECT_DIR$/WebApiWebSem/Controllers/ArticlesBusiness.cs" />
148 159
         <option value="$PROJECT_DIR$/WebApiWebSem/Controllers/ArticlesController.cs" />
149
-        <option value="$PROJECT_DIR$/WebApiWebSem/Startup.cs" />
150 160
         <option value="$PROJECT_DIR$/Test/Tests.cs" />
151
-        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs" />
152 161
         <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContextPartial.cs" />
153
-        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs" />
154 162
         <option value="$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json" />
155 163
         <option value="$PROJECT_DIR$/WebApiWebSem/NuGet.Config" />
164
+        <option value="$PROJECT_DIR$/WebApiWebSem/Startup.cs" />
165
+        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs" />
166
+        <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs" />
167
+        <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/B35BB51A-DB6B-4A78-AE4D-837CEB0DDFE7/aa/d49fb44e/ValuedNodeExtensions.cs" />
168
+        <option value="$PROJECT_DIR$/WebApiWebSem/Business/ArticlesBusiness.cs" />
169
+        <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/02/1172cde1/LuOrderByDbo.cs" />
170
+        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs" />
171
+        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/DbPediaDataAccess.cs" />
156 172
       </list>
157 173
     </option>
158 174
   </component>
@@ -222,7 +238,21 @@
222 238
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
223 239
             </PATH_ELEMENT>
224 240
             <PATH_ELEMENT>
225
-              <option name="myItemId" value="Test" />
241
+              <option name="myItemId" value="WebApiWebSem" />
242
+              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
243
+            </PATH_ELEMENT>
244
+            <PATH_ELEMENT>
245
+              <option name="myItemId" value="Business" />
246
+              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
247
+            </PATH_ELEMENT>
248
+          </PATH>
249
+          <PATH>
250
+            <PATH_ELEMENT>
251
+              <option name="myItemId" />
252
+              <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerViewPane$ProjectViewPaneTreeStructure$createRoot$1" />
253
+            </PATH_ELEMENT>
254
+            <PATH_ELEMENT>
255
+              <option name="myItemId" value="WebSem (2 projects)" />
226 256
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
227 257
             </PATH_ELEMENT>
228 258
           </PATH>
@@ -301,11 +331,12 @@
301 331
       <workItem from="1487441650798" duration="14018000" />
302 332
       <workItem from="1487528667649" duration="13931000" />
303 333
       <workItem from="1487802391451" duration="10532000" />
334
+      <workItem from="1489874619333" duration="10934000" />
304 335
     </task>
305 336
     <servers />
306 337
   </component>
307 338
   <component name="TimeTrackingManager">
308
-    <option name="totallyTimeSpent" value="51329000" />
339
+    <option name="totallyTimeSpent" value="62263000" />
309 340
   </component>
310 341
   <component name="TodoView">
311 342
     <todo-panel id="selected-file">
@@ -326,14 +357,13 @@
326 357
       <window_info id="Unit Tests" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.26963907" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
327 358
       <window_info id="Run Dashboard" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
328 359
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
329
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2282378" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
330
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.19745223" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" />
360
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2282378" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
361
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.19745223" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" />
331 362
       <window_info id="NuGet" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24203822" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />
332 363
       <window_info id="Change Signature" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
333
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.21841542" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
364
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20021413" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
334 365
       <window_info id="Build" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32908705" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
335 366
       <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.21199143" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
336
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
337 367
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
338 368
       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39915073" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
339 369
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
@@ -343,6 +373,7 @@
343 373
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
344 374
       <window_info id="UnitTesting" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32908705" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
345 375
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
376
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
346 377
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
347 378
     </layout>
348 379
   </component>
@@ -356,11 +387,41 @@
356 387
     <watches-manager />
357 388
   </component>
358 389
   <component name="editorHistoryManager">
390
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/NuGet.Config">
391
+      <provider selected="true" editor-type-id="text-editor">
392
+        <state relative-caret-position="108">
393
+          <caret line="6" column="16" lean-forward="true" selection-start-line="6" selection-start-column="16" selection-end-line="6" selection-end-column="16" />
394
+          <folding />
395
+        </state>
396
+      </provider>
397
+    </entry>
359 398
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
360 399
       <provider selected="true" editor-type-id="text-editor">
361 400
         <state relative-caret-position="1854">
362 401
           <caret line="103" column="17" lean-forward="true" selection-start-line="103" selection-start-column="17" selection-end-line="103" selection-end-column="17" />
363
-          <folding />
402
+          <folding>
403
+            <marker date="1489884464670" expanded="true" signature="6:307" ph="..." />
404
+            <marker date="1489884464670" expanded="true" signature="342:4298" ph="{...}" />
405
+            <marker date="1489884464670" expanded="true" signature="478:4296" ph="{...}" />
406
+            <marker date="1489884464670" expanded="true" signature="684:704" ph="{...}" />
407
+            <marker date="1489884464670" expanded="true" signature="756:799" ph="{...}" />
408
+            <marker date="1489884464670" expanded="true" signature="908:1003" ph="{...}" />
409
+            <marker date="1489884464670" expanded="true" signature="1113:1180" ph="{...}" />
410
+            <marker date="1489884464670" expanded="true" signature="1249:1301" ph="{...}" />
411
+            <marker date="1489884464670" expanded="true" signature="1365:1603" ph="{...}" />
412
+            <marker date="1489884464670" expanded="true" signature="1501:1558" ph="{...}" />
413
+            <marker date="1489884464670" expanded="true" signature="1704:2108" ph="{...}" />
414
+            <marker date="1489884464670" expanded="true" signature="2185:2709" ph="{...}" />
415
+            <marker date="1489884464670" expanded="true" signature="2240:2698" ph="{...}" />
416
+            <marker date="1489884464670" expanded="true" signature="2502:2641" ph="{...}" />
417
+            <marker date="1489884464670" expanded="true" signature="2800:2959" ph="{...}" />
418
+            <marker date="1489884464670" expanded="true" signature="3102:4164" ph="{...}" />
419
+            <marker date="1489884464670" expanded="true" signature="3277:3363" ph="{...}" />
420
+            <marker date="1489884464670" expanded="true" signature="3423:3656" ph="{...}" />
421
+            <marker date="1489884464670" expanded="true" signature="3810:4110" ph="{...}" />
422
+            <marker date="1489884464670" expanded="true" signature="3906:4094" ph="{...}" />
423
+            <marker date="1489884464670" expanded="true" signature="4236:4290" ph="{...}" />
424
+          </folding>
364 425
         </state>
365 426
       </provider>
366 427
     </entry>
@@ -368,7 +429,29 @@
368 429
       <provider selected="true" editor-type-id="text-editor">
369 430
         <state relative-caret-position="0">
370 431
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
371
-          <folding />
432
+          <folding>
433
+            <marker date="1489884464670" expanded="true" signature="6:307" ph="..." />
434
+            <marker date="1489884464670" expanded="true" signature="342:4298" ph="{...}" />
435
+            <marker date="1489884464670" expanded="true" signature="478:4296" ph="{...}" />
436
+            <marker date="1489884464670" expanded="true" signature="684:704" ph="{...}" />
437
+            <marker date="1489884464670" expanded="true" signature="756:799" ph="{...}" />
438
+            <marker date="1489884464670" expanded="true" signature="908:1003" ph="{...}" />
439
+            <marker date="1489884464670" expanded="true" signature="1113:1180" ph="{...}" />
440
+            <marker date="1489884464670" expanded="true" signature="1249:1301" ph="{...}" />
441
+            <marker date="1489884464670" expanded="true" signature="1365:1603" ph="{...}" />
442
+            <marker date="1489884464670" expanded="true" signature="1501:1558" ph="{...}" />
443
+            <marker date="1489884464670" expanded="true" signature="1704:2108" ph="{...}" />
444
+            <marker date="1489884464670" expanded="true" signature="2185:2709" ph="{...}" />
445
+            <marker date="1489884464670" expanded="true" signature="2240:2698" ph="{...}" />
446
+            <marker date="1489884464670" expanded="true" signature="2502:2641" ph="{...}" />
447
+            <marker date="1489884464670" expanded="true" signature="2800:2959" ph="{...}" />
448
+            <marker date="1489884464670" expanded="true" signature="3102:4164" ph="{...}" />
449
+            <marker date="1489884464670" expanded="true" signature="3277:3363" ph="{...}" />
450
+            <marker date="1489884464670" expanded="true" signature="3423:3656" ph="{...}" />
451
+            <marker date="1489884464670" expanded="true" signature="3810:4110" ph="{...}" />
452
+            <marker date="1489884464670" expanded="true" signature="3906:4094" ph="{...}" />
453
+            <marker date="1489884464670" expanded="true" signature="4236:4290" ph="{...}" />
454
+          </folding>
372 455
         </state>
373 456
       </provider>
374 457
     </entry>
@@ -511,14 +594,6 @@
511 594
       <provider selected="true" editor-type-id="text-editor">
512 595
         <state relative-caret-position="489">
513 596
           <caret line="39" column="42" lean-forward="true" selection-start-line="39" selection-start-column="42" selection-end-line="39" selection-end-column="42" />
514
-          <folding />
515
-        </state>
516
-      </provider>
517
-    </entry>
518
-    <entry file="file://$PROJECT_DIR$/Test/DataAccess/ArticlesDataAccessTest.cs">
519
-      <provider selected="true" editor-type-id="text-editor">
520
-        <state relative-caret-position="334">
521
-          <caret line="87" column="21" lean-forward="false" selection-start-line="87" selection-start-column="21" selection-end-line="87" selection-end-column="21" />
522 597
         </state>
523 598
       </provider>
524 599
     </entry>
@@ -536,20 +611,6 @@
536 611
         </state>
537 612
       </provider>
538 613
     </entry>
539
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Startup.cs">
540
-      <provider selected="true" editor-type-id="text-editor">
541
-        <state relative-caret-position="0">
542
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
543
-        </state>
544
-      </provider>
545
-    </entry>
546
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Business/ArticlesBusiness.cs">
547
-      <provider selected="true" editor-type-id="text-editor">
548
-        <state relative-caret-position="252">
549
-          <caret line="14" column="1" lean-forward="false" selection-start-line="14" selection-start-column="1" selection-end-line="14" selection-end-column="1" />
550
-        </state>
551
-      </provider>
552
-    </entry>
553 614
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsAddDbo.cs">
554 615
       <provider selected="true" editor-type-id="text-editor">
555 616
         <state relative-caret-position="36">
@@ -578,13 +639,6 @@
578 639
         </state>
579 640
       </provider>
580 641
     </entry>
581
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs">
582
-      <provider selected="true" editor-type-id="text-editor">
583
-        <state relative-caret-position="90">
584
-          <caret line="5" column="39" lean-forward="false" selection-start-line="5" selection-start-column="39" selection-end-line="5" selection-end-column="39" />
585
-        </state>
586
-      </provider>
587
-    </entry>
588 642
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsEditDbo.cs">
589 643
       <provider selected="true" editor-type-id="text-editor">
590 644
         <state relative-caret-position="234">
@@ -620,100 +674,256 @@
620 674
         </state>
621 675
       </provider>
622 676
     </entry>
623
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs">
677
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContextPartial.cs">
624 678
       <provider selected="true" editor-type-id="text-editor">
625
-        <state relative-caret-position="432">
626
-          <caret line="33" column="83" lean-forward="false" selection-start-line="33" selection-start-column="83" selection-end-line="33" selection-end-column="83" />
627
-          <folding />
679
+        <state relative-caret-position="126">
680
+          <caret line="7" column="9" lean-forward="true" selection-start-line="7" selection-start-column="9" selection-end-line="7" selection-end-column="9" />
628 681
         </state>
629 682
       </provider>
630 683
     </entry>
631
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/DbPediaDataAccess.cs">
684
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/project.json">
685
+      <provider selected="true" editor-type-id="text-editor">
686
+        <state relative-caret-position="54">
687
+          <caret line="3" column="32" lean-forward="false" selection-start-line="3" selection-start-column="32" selection-end-line="3" selection-end-column="32" />
688
+          <folding>
689
+            <marker date="1487965313989" expanded="true" signature="0:1500" ph="{...}" />
690
+            <marker date="1487965313989" expanded="true" signature="20:777" ph="{...}" />
691
+            <marker date="1487965313989" expanded="true" signature="87:155" ph="{...}" />
692
+            <marker date="1487965313989" expanded="true" signature="791:875" ph="{...}" />
693
+            <marker date="1487965313989" expanded="true" signature="894:1006" ph="{...}" />
694
+            <marker date="1487965313989" expanded="true" signature="917:1002" ph="{...}" />
695
+            <marker date="1487965313989" expanded="true" signature="936:996" ph="[...]" />
696
+            <marker date="1487965313989" expanded="true" signature="1027:1128" ph="{...}" />
697
+            <marker date="1487965313989" expanded="true" signature="1151:1219" ph="{...}" />
698
+            <marker date="1487965313989" expanded="true" signature="1177:1215" ph="{...}" />
699
+            <marker date="1487965313989" expanded="true" signature="1242:1353" ph="{...}" />
700
+            <marker date="1487965313989" expanded="true" signature="1259:1349" ph="[...]" />
701
+            <marker date="1487965313989" expanded="true" signature="1369:1498" ph="{...}" />
702
+          </folding>
703
+        </state>
704
+      </provider>
705
+    </entry>
706
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json">
707
+      <provider selected="true" editor-type-id="text-editor">
708
+        <state relative-caret-position="252">
709
+          <caret line="14" column="1" lean-forward="false" selection-start-line="14" selection-start-column="1" selection-end-line="14" selection-end-column="1" />
710
+          <folding>
711
+            <marker date="1487965313989" expanded="true" signature="0:490" ph="{...}" />
712
+            <marker date="1487965313989" expanded="true" signature="17:297" ph="{...}" />
713
+            <marker date="1487965313989" expanded="true" signature="71:291" ph="{...}" />
714
+            <marker date="1487965313989" expanded="true" signature="324:468" ph="{...}" />
715
+          </folding>
716
+        </state>
717
+      </provider>
718
+    </entry>
719
+    <entry file="file://$PROJECT_DIR$/Test/DataAccess/ArticlesDataAccessTest.cs">
632 720
       <provider selected="true" editor-type-id="text-editor">
633 721
         <state relative-caret-position="0">
634 722
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
635 723
           <folding>
636
-            <marker date="1487109102942" expanded="true" signature="6:34" ph="..." />
637
-            <marker date="1487109102942" expanded="true" signature="69:848" ph="{...}" />
638
-            <marker date="1487109102942" expanded="true" signature="106:846" ph="{...}" />
639
-            <marker date="1487109102942" expanded="true" signature="152:840" ph="{...}" />
640
-            <marker date="1487109102942" expanded="true" signature="498:580" ph="{...}" />
641
-            <marker date="1487109102942" expanded="true" signature="594:830" ph="/* Make a DESCRIBE query against the Endpoint ... */" />
724
+            <marker date="1487965313981" expanded="true" signature="6:212" ph="..." />
725
+            <marker date="1487965313981" expanded="true" signature="239:5555" ph="{...}" />
726
+            <marker date="1487965313981" expanded="true" signature="281:5553" ph="{...}" />
727
+            <marker date="1487965313981" expanded="true" signature="330:1383" ph="{...}" />
728
+            <marker date="1487965313981" expanded="true" signature="399:1371" ph="{...}" />
729
+            <marker date="1487965313981" expanded="true" signature="489:1231" ph="{...}" />
730
+            <marker date="1487965313981" expanded="true" signature="571:844" ph="{...}" />
731
+            <marker date="1487965313981" expanded="true" signature="646:822" ph="{...}" />
732
+            <marker date="1487965313981" expanded="true" signature="1427:2817" ph="{...}" />
733
+            <marker date="1487965313981" expanded="true" signature="1496:2805" ph="{...}" />
734
+            <marker date="1487965313981" expanded="true" signature="1586:2328" ph="{...}" />
735
+            <marker date="1487965313981" expanded="true" signature="1668:1941" ph="{...}" />
736
+            <marker date="1487965313981" expanded="true" signature="1743:1919" ph="{...}" />
737
+            <marker date="1487965313981" expanded="true" signature="2861:5547" ph="{...}" />
738
+            <marker date="1487965313981" expanded="true" signature="2930:5535" ph="{...}" />
739
+            <marker date="1487965313981" expanded="true" signature="3020:3762" ph="{...}" />
740
+            <marker date="1487965313981" expanded="true" signature="3102:3375" ph="{...}" />
741
+            <marker date="1487965313981" expanded="true" signature="3177:3353" ph="{...}" />
742
+            <marker date="1487965313981" expanded="true" signature="4003:4642" ph="{...}" />
743
+            <marker date="1487965313981" expanded="true" signature="4086:4359" ph="{...}" />
744
+            <marker date="1487965313981" expanded="true" signature="4161:4337" ph="{...}" />
642 745
           </folding>
643 746
         </state>
644 747
       </provider>
645 748
     </entry>
749
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/NuGet.Config">
750
+      <provider selected="true" editor-type-id="text-editor">
751
+        <state relative-caret-position="108">
752
+          <caret line="6" column="16" lean-forward="false" selection-start-line="6" selection-start-column="16" selection-end-line="6" selection-end-column="16" />
753
+          <folding />
754
+        </state>
755
+      </provider>
756
+    </entry>
646 757
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContext.cs">
647 758
       <provider selected="true" editor-type-id="text-editor">
648 759
         <state relative-caret-position="90">
649 760
           <caret line="5" column="36" lean-forward="false" selection-start-line="5" selection-start-column="25" selection-end-line="5" selection-end-column="36" />
650
-          <folding />
761
+          <folding>
762
+            <marker date="1487965313985" expanded="true" signature="6:74" ph="..." />
763
+            <marker date="1487965313985" expanded="true" signature="109:1246" ph="{...}" />
764
+            <marker date="1487965313985" expanded="true" signature="160:1244" ph="{...}" />
765
+            <marker date="1487965313985" expanded="true" signature="234:254" ph="{...}" />
766
+            <marker date="1487965313985" expanded="true" signature="330:1073" ph="{...}" />
767
+          </folding>
651 768
         </state>
652 769
       </provider>
653 770
     </entry>
654
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContextPartial.cs">
771
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/appsettings.json">
772
+      <provider selected="true" editor-type-id="text-editor">
773
+        <state relative-caret-position="198">
774
+          <caret line="11" column="6" lean-forward="false" selection-start-line="11" selection-start-column="6" selection-end-line="11" selection-end-column="6" />
775
+          <folding>
776
+            <marker date="1487088044437" expanded="true" signature="0:654" ph="{...}" />
777
+            <marker date="1487088044437" expanded="true" signature="17:459" ph="{...}" />
778
+            <marker date="1487088044437" expanded="true" signature="71:453" ph="{...}" />
779
+            <marker date="1487088044437" expanded="true" signature="486:650" ph="{...}" />
780
+          </folding>
781
+        </state>
782
+      </provider>
783
+    </entry>
784
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Startup.cs">
785
+      <provider selected="true" editor-type-id="text-editor">
786
+        <state relative-caret-position="270">
787
+          <caret line="48" column="56" lean-forward="true" selection-start-line="48" selection-start-column="56" selection-end-line="48" selection-end-column="56" />
788
+          <folding>
789
+            <marker date="1489884464634" expanded="true" signature="6:444" ph="..." />
790
+            <marker date="1489884464634" expanded="true" signature="468:3234" ph="{...}" />
791
+            <marker date="1489884464634" expanded="true" signature="495:3232" ph="{...}" />
792
+            <marker date="1489884464634" expanded="true" signature="598:1306" ph="{...}" />
793
+            <marker date="1489884464634" expanded="true" signature="961:1203" ph="{...}" />
794
+            <marker date="1489884464634" expanded="true" signature="1532:2693" ph="{...}" />
795
+            <marker date="1489884464634" expanded="true" signature="2067:2191" ph="{...}" />
796
+            <marker date="1489884464634" expanded="true" signature="2252:2586" ph="{...}" />
797
+            <marker date="1489884464634" expanded="true" signature="2910:3226" ph="{...}" />
798
+            <marker date="1489884464634" expanded="true" signature="3107:3189" ph="{...}" />
799
+          </folding>
800
+        </state>
801
+      </provider>
802
+    </entry>
803
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs">
655 804
       <provider selected="true" editor-type-id="text-editor">
656 805
         <state relative-caret-position="126">
657
-          <caret line="7" column="9" lean-forward="true" selection-start-line="7" selection-start-column="9" selection-end-line="7" selection-end-column="9" />
806
+          <caret line="7" column="24" lean-forward="false" selection-start-line="7" selection-start-column="24" selection-end-line="7" selection-end-column="24" />
658 807
           <folding>
659
-            <marker date="1487814476755" expanded="true" signature="48:239" ph="{...}" />
660
-            <marker date="1487814476755" expanded="true" signature="87:237" ph="{...}" />
661
-            <marker date="1487814476755" expanded="true" signature="162:231" ph="{...}" />
808
+            <marker date="1489886985427" expanded="true" signature="6:52" ph="..." />
809
+            <marker date="1489886985427" expanded="true" signature="89:269" ph="{...}" />
810
+            <marker date="1489886985427" expanded="true" signature="156:267" ph="{...}" />
662 811
           </folding>
663 812
         </state>
664 813
       </provider>
665 814
     </entry>
666
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
815
+    <entry file="file://$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/B35BB51A-DB6B-4A78-AE4D-837CEB0DDFE7/aa/d49fb44e/ValuedNodeExtensions.cs">
667 816
       <provider selected="true" editor-type-id="text-editor">
668
-        <state relative-caret-position="498">
669
-          <caret line="57" column="87" lean-forward="false" selection-start-line="57" selection-start-column="87" selection-end-line="57" selection-end-column="87" />
817
+        <state relative-caret-position="198">
818
+          <caret line="17" column="30" lean-forward="false" selection-start-line="17" selection-start-column="30" selection-end-line="17" selection-end-column="30" />
670 819
           <folding />
671 820
         </state>
672 821
       </provider>
673 822
     </entry>
674
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/appsettings.json">
823
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
675 824
       <provider selected="true" editor-type-id="text-editor">
676
-        <state relative-caret-position="0">
677
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
678
-          <folding />
825
+        <state relative-caret-position="232">
826
+          <caret line="13" column="17" lean-forward="false" selection-start-line="13" selection-start-column="17" selection-end-line="13" selection-end-column="17" />
827
+          <folding>
828
+            <marker date="1489884464670" expanded="true" signature="6:307" ph="..." />
829
+            <marker date="1489884464670" expanded="true" signature="342:4298" ph="{...}" />
830
+            <marker date="1489884464670" expanded="true" signature="478:4296" ph="{...}" />
831
+            <marker date="1489884464670" expanded="true" signature="684:704" ph="{...}" />
832
+            <marker date="1489884464670" expanded="true" signature="756:799" ph="{...}" />
833
+            <marker date="1489884464670" expanded="true" signature="908:1003" ph="{...}" />
834
+            <marker date="1489884464670" expanded="true" signature="1113:1180" ph="{...}" />
835
+            <marker date="1489884464670" expanded="true" signature="1249:1301" ph="{...}" />
836
+            <marker date="1489884464670" expanded="true" signature="1365:1603" ph="{...}" />
837
+            <marker date="1489884464670" expanded="true" signature="1501:1558" ph="{...}" />
838
+            <marker date="1489884464670" expanded="true" signature="1704:2108" ph="{...}" />
839
+            <marker date="1489884464670" expanded="true" signature="2185:2709" ph="{...}" />
840
+            <marker date="1489884464670" expanded="true" signature="2240:2698" ph="{...}" />
841
+            <marker date="1489884464670" expanded="true" signature="2502:2641" ph="{...}" />
842
+            <marker date="1489884464670" expanded="true" signature="2800:2959" ph="{...}" />
843
+            <marker date="1489884464670" expanded="true" signature="3102:4164" ph="{...}" />
844
+            <marker date="1489884464670" expanded="true" signature="3277:3363" ph="{...}" />
845
+            <marker date="1489884464670" expanded="true" signature="3423:3656" ph="{...}" />
846
+            <marker date="1489884464670" expanded="true" signature="3810:4110" ph="{...}" />
847
+            <marker date="1489884464670" expanded="true" signature="3906:4094" ph="{...}" />
848
+            <marker date="1489884464670" expanded="true" signature="4236:4290" ph="{...}" />
849
+          </folding>
679 850
         </state>
680 851
       </provider>
681 852
     </entry>
682
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json">
853
+    <entry file="file://$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/02/1172cde1/LuOrderByDbo.cs">
683 854
       <provider selected="true" editor-type-id="text-editor">
684
-        <state relative-caret-position="252">
685
-          <caret line="14" column="1" lean-forward="false" selection-start-line="14" selection-start-column="1" selection-end-line="14" selection-end-column="1" />
855
+        <state relative-caret-position="198">
856
+          <caret line="11" column="15" lean-forward="false" selection-start-line="11" selection-start-column="15" selection-end-line="11" selection-end-column="15" />
686 857
           <folding />
687 858
         </state>
688 859
       </provider>
689 860
     </entry>
690
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/project.json">
861
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Business/ArticlesBusiness.cs">
691 862
       <provider selected="true" editor-type-id="text-editor">
692
-        <state relative-caret-position="54">
693
-          <caret line="3" column="32" lean-forward="false" selection-start-line="3" selection-start-column="32" selection-end-line="3" selection-end-column="32" />
863
+        <state relative-caret-position="396">
864
+          <caret line="22" column="59" lean-forward="false" selection-start-line="22" selection-start-column="59" selection-end-line="22" selection-end-column="59" />
694 865
           <folding>
695
-            <marker date="1487108425286" expanded="true" signature="0:1500" ph="{...}" />
696
-            <marker date="1487108425286" expanded="true" signature="20:777" ph="{...}" />
697
-            <marker date="1487108425286" expanded="true" signature="87:155" ph="{...}" />
698
-            <marker date="1487108425286" expanded="true" signature="791:875" ph="{...}" />
699
-            <marker date="1487108425286" expanded="true" signature="894:1006" ph="{...}" />
700
-            <marker date="1487108425286" expanded="true" signature="917:1002" ph="{...}" />
701
-            <marker date="1487108425286" expanded="true" signature="936:996" ph="[...]" />
702
-            <marker date="1487108425286" expanded="true" signature="1027:1128" ph="{...}" />
703
-            <marker date="1487108425286" expanded="true" signature="1151:1219" ph="{...}" />
704
-            <marker date="1487108425286" expanded="true" signature="1177:1215" ph="{...}" />
705
-            <marker date="1487108425286" expanded="true" signature="1242:1353" ph="{...}" />
706
-            <marker date="1487108425286" expanded="true" signature="1259:1349" ph="[...]" />
707
-            <marker date="1487108425286" expanded="true" signature="1369:1498" ph="{...}" />
866
+            <marker date="1489888100823" expanded="true" signature="6:240" ph="..." />
867
+            <marker date="1489888100823" expanded="true" signature="273:1202" ph="{...}" />
868
+            <marker date="1489888100823" expanded="true" signature="400:1200" ph="{...}" />
869
+            <marker date="1489888100823" expanded="true" signature="660:769" ph="{...}" />
870
+            <marker date="1489888100823" expanded="true" signature="875:1194" ph="{...}" />
871
+            <marker date="1489888100823" expanded="true" signature="946:1184" ph="/* var result = _dbPediaDataAccess.GetMultiple(request); ... */" />
708 872
           </folding>
709 873
         </state>
710 874
       </provider>
711 875
     </entry>
712
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/NuGet.Config">
876
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs">
713 877
       <provider selected="true" editor-type-id="text-editor">
714
-        <state relative-caret-position="108">
715
-          <caret line="6" column="16" lean-forward="true" selection-start-line="6" selection-start-column="16" selection-end-line="6" selection-end-column="16" />
716
-          <folding />
878
+        <state relative-caret-position="535">
879
+          <caret line="50" column="20" lean-forward="false" selection-start-line="50" selection-start-column="20" selection-end-line="50" selection-end-column="20" />
880
+          <folding>
881
+            <marker date="1489889072103" expanded="true" signature="6:192" ph="..." />
882
+            <marker date="1489889072103" expanded="true" signature="227:1629" ph="{...}" />
883
+            <marker date="1489889072103" expanded="true" signature="263:1627" ph="{...}" />
884
+            <marker date="1489889072103" expanded="true" signature="343:635" ph="{...}" />
885
+            <marker date="1489889072103" expanded="true" signature="384:441" ph="{...}" />
886
+            <marker date="1489889072103" expanded="true" signature="495:624" ph="{...}" />
887
+            <marker date="1489889072103" expanded="true" signature="697:1309" ph="{...}" />
888
+            <marker date="1489889072103" expanded="true" signature="738:795" ph="{...}" />
889
+            <marker date="1489889072103" expanded="true" signature="843:1298" ph="{...}" />
890
+            <marker date="1489889072103" expanded="true" signature="1384:1621" ph="{...}" />
891
+            <marker date="1489889072103" expanded="true" signature="1462:1608" ph="{...}" />
892
+          </folding>
893
+        </state>
894
+      </provider>
895
+    </entry>
896
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/DbPediaDataAccess.cs">
897
+      <provider selected="true" editor-type-id="text-editor">
898
+        <state relative-caret-position="463">
899
+          <caret line="134" column="12" lean-forward="true" selection-start-line="134" selection-start-column="12" selection-end-line="134" selection-end-column="12" />
900
+          <folding>
901
+            <marker date="1489890980119" expanded="true" signature="6:327" ph="..." />
902
+            <marker date="1489890980119" expanded="true" signature="362:5964" ph="{...}" />
903
+            <marker date="1489890980119" expanded="true" signature="399:5962" ph="{...}" />
904
+            <marker date="1489890980119" expanded="true" signature="1211:1319" ph="{...}" />
905
+            <marker date="1489890980119" expanded="true" signature="1370:1451" ph="{...}" />
906
+            <marker date="1489890980119" expanded="true" signature="1516:1906" ph="{...}" />
907
+            <marker date="1489890980119" expanded="true" signature="1585:1754" ph="{...}" />
908
+            <marker date="1489890980119" expanded="true" signature="1786:1896" ph="{...}" />
909
+            <marker date="1489890980119" expanded="true" signature="1969:3220" ph="{...}" />
910
+            <marker date="1489890980119" expanded="true" signature="2030:2100" ph="{...}" />
911
+            <marker date="1489890980119" expanded="true" signature="2156:3186" ph="{...}" />
912
+            <marker date="1489890980119" expanded="true" signature="2279:2371" ph="{...}" />
913
+            <marker date="1489890980119" expanded="true" signature="2409:2498" ph="{...}" />
914
+            <marker date="1489890980119" expanded="true" signature="2547:2620" ph="{...}" />
915
+            <marker date="1489890980119" expanded="true" signature="2671:2750" ph="{...}" />
916
+            <marker date="1489890980119" expanded="true" signature="2802:2885" ph="{...}" />
917
+            <marker date="1489890980119" expanded="true" signature="2906:3172" ph="{...}" />
918
+            <marker date="1489890980119" expanded="true" signature="3002:3152" ph="{...}" />
919
+            <marker date="1489890980119" expanded="true" signature="3317:5956" ph="{...}" />
920
+            <marker date="1489890980119" expanded="true" signature="3586:4021" ph="{...}" />
921
+            <marker date="1489890980119" expanded="true" signature="4061:4741" ph="{...}" />
922
+            <marker date="1489890980119" expanded="true" signature="5018:5110" ph="{...}" />
923
+            <marker date="1489890980119" expanded="true" signature="5423:5513" ph="{...}" />
924
+            <marker date="1489890980119" expanded="true" signature="5584:5875" ph="{...}" />
925
+            <marker date="1489890980119" expanded="true" signature="5746:5851" ph="{...}" />
926
+          </folding>
717 927
         </state>
718 928
       </provider>
719 929
     </entry>

+ 18
- 1
backend/WebSem/WebApiWebSem/Business/ArticlesBusiness.cs Parādīt failu

@@ -1,4 +1,7 @@
1 1
 using Luticate2.Utils.Business;
2
+using Luticate2.Utils.Dbo.Basic;
3
+using Luticate2.Utils.Dbo.PaginatedRequest;
4
+using Luticate2.Utils.Dbo.Result;
2 5
 using Luticate2.Utils.Interfaces;
3 6
 using WebApiWebSem.DataAccess;
4 7
 using WebApiWebSem.Dbo.Articles;
@@ -7,9 +10,23 @@ namespace WebApiWebSem.Business
7 10
 {
8 11
     public class ArticlesBusiness : LuCrudBusiness<ArticlesDataAccess, ArticlesAddDbo, ArticlesDbo, ArticlesEditDbo, string>
9 12
     {
10
-        public ArticlesBusiness(ArticlesDataAccess dataAccess, ILuNotificationsBusiness notificationsBusiness) : base(dataAccess, notificationsBusiness)
13
+        private readonly DbPediaDataAccess _dbPediaDataAccess;
14
+
15
+        public ArticlesBusiness(ArticlesDataAccess dataAccess, ILuNotificationsBusiness notificationsBusiness, DbPediaDataAccess dbPediaDataAccess) : base(dataAccess, notificationsBusiness)
11 16
         {
17
+            _dbPediaDataAccess = dbPediaDataAccess;
12 18
             EntityType = "articles";
13 19
         }
20
+
21
+        public override LuResult<LuPaginatedDbo<ArticlesDbo>> GetMultiple(LuPaginatedRequestDbo request)
22
+        {
23
+            return _dbPediaDataAccess.GetMultiple(request);
24
+//            var result = _dbPediaDataAccess.GetMultiple(request);
25
+//            if (result.Status == LuStatus.BackendError)
26
+//            {
27
+//                return base.GetMultiple(request);
28
+//            }
29
+//            return result;
30
+        }
14 31
     }
15 32
 }

+ 2
- 2
backend/WebSem/WebApiWebSem/DataAccess/ArticlesDataAccess.cs Parādīt failu

@@ -13,7 +13,7 @@ namespace WebApiWebSem.DataAccess
13 13
 {
14 14
     public class ArticlesDataAccess : LuEfCrudDataAccess<articles, ArticlesAddDbo, ArticlesDbo, ArticlesEditDbo, WsDbContext, string>
15 15
     {
16
-        protected static IList<string> Types = new List<string>{"home", "persons", "locations", "countries"};
16
+        public static IList<string> Types = new List<string>{"home", "persons", "locations", "countries"};
17 17
 
18 18
         public ArticlesDataAccess(IServiceProvider serviceProvider) : base(serviceProvider)
19 19
         {
@@ -39,7 +39,7 @@ namespace WebApiWebSem.DataAccess
39 39
             return db.articles;
40 40
         }
41 41
 
42
-        protected string GetFilterType(LuFilterDbo filter)
42
+        public static string GetFilterType(LuFilterDbo filter)
43 43
         {
44 44
             var type = filter.GetFilterString("type", null);
45 45
             if (type == null || !Types.Contains(type.ToLower()))

+ 159
- 12
backend/WebSem/WebApiWebSem/DataAccess/DbPediaDataAccess.cs Parādīt failu

@@ -1,27 +1,174 @@
1 1
 using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using Luticate2.Utils.Dbo.Basic;
5
+using Luticate2.Utils.Dbo.PaginatedRequest;
6
+using Luticate2.Utils.Dbo.Result;
7
+using Microsoft.Extensions.Logging;
8
+using VDS.RDF.Nodes;
2 9
 using VDS.RDF.Query;
10
+using WebApiWebSem.Dbo.Articles;
11
+using WebApiWebSem.Dbo.ArticlesFields;
3 12
 
4 13
 namespace WebApiWebSem.DataAccess
5 14
 {
6 15
     public class DbPediaDataAccess
7 16
     {
8
-        public void Query(string query)
17
+        private readonly SparqlRemoteEndpoint _sparqlRemoteEndpoint;
18
+        private readonly ILogger<DbPediaDataAccess> _logger;
19
+
20
+        protected string Prefixes = @"
21
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
22
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
23
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
24
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
25
+PREFIX foaf: <http://xmlns.com/foaf/0.1/>
26
+PREFIX dc: <http://purl.org/dc/elements/1.1/>
27
+PREFIX : <http://dbpedia.org/resource/>
28
+PREFIX dbpedia2: <http://dbpedia.org/property/>
29
+PREFIX dbpedia: <http://dbpedia.org/>
30
+PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
31
+PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
32
+";
33
+
34
+        public DbPediaDataAccess(SparqlRemoteEndpoint sparqlRemoteEndpoint, ILogger<DbPediaDataAccess> logger)
35
+        {
36
+            _sparqlRemoteEndpoint = sparqlRemoteEndpoint;
37
+            _logger = logger;
38
+        }
39
+
40
+        protected string Escape(string str)//TODO
9 41
         {
10
-            var endpoint = new SparqlRemoteEndpoint(new Uri("http://dbpedia.org/sparql"), "http://dbpedia.org");
42
+            return str.Replace('\'', ' ').Replace('"', ' ');
43
+        }
11 44
 
12
-            //Make a SELECT query against the Endpoint
13
-            var results = endpoint.QueryWithResultSet("SELECT DISTINCT ?Concept WHERE {[] a ?Concept} LIMIT 10");
14
-            foreach (SparqlResult result in results)
45
+        protected LuResult<SparqlResultSet> Query(string query)
46
+        {
47
+            _logger.LogInformation(query);
48
+            try
15 49
             {
16
-                Console.WriteLine(result.ToString());
50
+                var results = _sparqlRemoteEndpoint.QueryWithResultSet(query);
51
+                return LuResult<SparqlResultSet>.Ok(results);
17 52
             }
53
+            catch (Exception e)
54
+            {
55
+                return LuResult<SparqlResultSet>.Error(LuStatus.BackendError, e);
56
+            }
57
+        }
18 58
 
19
-            //Make a DESCRIBE query against the Endpoint
20
-//            var g = endpoint.QueryWithResultGraph("DESCRIBE ");
21
-//            foreach (var t in g.Triples)
22
-//            {
23
-//                Console.WriteLine(t.ToString());
24
-//            }
59
+        protected ArticlesDbo ModelToDbo(SparqlResult result)
60
+        {
61
+            var dbo = new ArticlesDbo
62
+            {
63
+                Fields = new List<ArticlesFieldsDbo>()
64
+            };
65
+            foreach (var variable in result.Variables)
66
+            {
67
+                string data = null;
68
+                var v = result[variable];
69
+                if (v != null)
70
+                {
71
+                    data = v.AsValuedNode().AsString();
72
+                }
73
+                if (variable == "id")
74
+                {
75
+                    dbo.Id = data.Split('/').Last();
76
+                }
77
+                else if (variable == "abstract")
78
+                {
79
+                    dbo.Text = data;
80
+                }
81
+                else if (variable == "pictureUrl")
82
+                {
83
+                    dbo.PictureUrl = data;
84
+                }
85
+                else if (variable == "pictureDesc")
86
+                {
87
+                    dbo.PictureCaption = data;
88
+                }
89
+                else
90
+                {
91
+                    dbo.Fields.Add(new ArticlesFieldsDbo
92
+                    {
93
+                        Property = variable,
94
+                        Type = "text/plain",
95
+                        Value = data
96
+                    });
97
+                }
98
+            }
99
+            return dbo;
100
+        }
101
+
102
+        public LuResult<LuPaginatedDbo<ArticlesDbo>> GetMultiple(LuPaginatedRequestDbo request)
103
+        {
104
+            var type = ArticlesDataAccess.GetFilterType(request.Filter);
105
+            string query = null;
106
+            string querySelect = null;
107
+            string queryWhereId = null;
108
+            string queryWhereVars = null;
109
+            if (type == "home")
110
+            {
111
+                querySelect = "?id ?abstract ?pictureUrl ?pictureDesc";
112
+                queryWhereId = @"?id foaf:isPrimaryTopicOf wikipedia-en:World_War_II .";
113
+                queryWhereVars = @"
114
+OPTIONAL { ?id dbo:abstract ?abstract FILTER(lang(?abstract) = 'en') }
115
+OPTIONAL { ?id foaf:depiction ?pictureUrl }
116
+OPTIONAL { ?id dbpedia-owl:depictionDescription ?pictureDesc }
117
+BIND ((?abstract) AS ?search)";
118
+            }
119
+            else if (type == "persons")
120
+            {
121
+                querySelect = "?id ?abstract ?pictureUrl ?pictureDesc (MIN(?name) AS ?name) (str(?birthDate) AS ?birthDate) (str(?deathDate) AS ?deathDate)";
122
+                queryWhereId = @"?id rdf:type dbo:Person ;
123
+?type dbr:World_War_II .";
124
+                queryWhereVars = @"
125
+OPTIONAL { ?id dbo:abstract ?abstract FILTER(lang(?abstract) = 'en') }
126
+OPTIONAL { ?id foaf:depiction ?pictureUrl }
127
+OPTIONAL { ?id dbpedia-owl:depictionDescription ?pictureDesc }
128
+OPTIONAL { ?id dbp:name ?name . FILTER (lang(?name) = 'en') }
129
+OPTIONAL { ?id dbp:birthDate ?birthDate }
130
+OPTIONAL { ?id dbp:deathDate ?deathDate }
131
+BIND (CONCAT(?abstract, ' ', ?id) AS ?search)";
132
+            }
133
+
134
+            var filter = $"FILTER regex(?search, '{request.Filter.Query}', 'i')";
135
+
136
+            var count = Query(string.Format(@"{0}
137
+SELECT (COUNT(?id) AS ?count) WHERE {{
138
+{1}
139
+{2}
140
+{3}
141
+}}
142
+", Prefixes, queryWhereId, queryWhereVars, filter));
143
+            if (!count)
144
+            {
145
+                return count.To<LuPaginatedDbo<ArticlesDbo>>();
146
+            }
147
+
148
+            var res = Query(string.Format(@"{0}
149
+SELECT DISTINCT {1} WHERE {{
150
+{2}
151
+{3}
152
+{4}
153
+}}
154
+ORDER BY {5}
155
+LIMIT {6}
156
+OFFSET {7}", Prefixes, querySelect, queryWhereId, queryWhereVars, filter, request.OrderBy.ToDbPediaModel(),
157
+                request.PerPage, request.Page * request.PerPage));
158
+            if (!res)
159
+            {
160
+                return res.To<LuPaginatedDbo<ArticlesDbo>>();
161
+            }
162
+            var results = new LuPaginatedDbo<ArticlesDbo>
163
+            {
164
+                Count = count.Data.Results.First()["count"].AsValuedNode().AsInteger(),
165
+                Data = res.Data.Results.Select(ModelToDbo).Select(dbo =>
166
+                {
167
+                    dbo.Type = type;
168
+                    return dbo;
169
+                }).ToList()
170
+            };
171
+            return LuResult<LuPaginatedDbo<ArticlesDbo>>.Ok(results);
25 172
         }
26 173
     }
27 174
 }

+ 10
- 0
backend/WebSem/WebApiWebSem/DataAccess/ModelsDbo.cs Parādīt failu

@@ -1,4 +1,5 @@
1 1
 using System.Linq;
2
+using Luticate2.Utils.Dbo.OrderBy;
2 3
 using Luticate2.Utils.Utils;
3 4
 using WebApiWebSem.DataAccess.Models;
4 5
 using WebApiWebSem.Dbo.Articles;
@@ -40,5 +41,14 @@ namespace WebApiWebSem.DataAccess
40 41
                 UpdatedAt = model.updated_at.ToDbo()
41 42
             };
42 43
         }
44
+
45
+        public static string ToDbPediaModel(this LuOrderByDbo orderByDbo)
46
+        {
47
+            return string.Join(" ", orderByDbo.Fields.Select(dbo =>
48
+                {
49
+                    var order = dbo.Asc ? "ASC" : "DESC";
50
+                    return $"{order}(?{dbo.Name})";
51
+                }));
52
+        }
43 53
     }
44 54
 }

+ 1
- 1
backend/WebSem/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs Parādīt failu

@@ -5,7 +5,7 @@ namespace WebApiWebSem.Dbo.Articles
5 5
 {
6 6
     public class ArticlesDbo : ArticlesAddDbo<ArticlesFieldsDbo>
7 7
     {
8
-        public DateTime CreatedAt { get; set; }
8
+        public DateTime? CreatedAt { get; set; }
9 9
 
10 10
         public DateTime? UpdatedAt { get; set; }
11 11
     }

+ 4
- 0
backend/WebSem/WebApiWebSem/Startup.cs Parādīt failu

@@ -1,3 +1,4 @@
1
+using System;
1 2
 using System.Reflection;
2 3
 using Luticate2.Utils.Controllers;
3 4
 using Microsoft.AspNetCore.Builder;
@@ -6,6 +7,7 @@ using Microsoft.EntityFrameworkCore;
6 7
 using Microsoft.Extensions.Configuration;
7 8
 using Microsoft.Extensions.DependencyInjection;
8 9
 using Microsoft.Extensions.Logging;
10
+using VDS.RDF.Query;
9 11
 using WebApiWebSem.Business;
10 12
 using WebApiWebSem.DataAccess;
11 13
 using WebApiWebSem.Dbo;
@@ -45,6 +47,8 @@ namespace WebApiWebSem
45 47
 
46 48
             services.AddTransient<ArticlesBusiness>();
47 49
             services.AddTransient<ArticlesDataAccess>();
50
+            services.AddTransient(provider => new SparqlRemoteEndpoint(new Uri("http://dbpedia.org/sparql"), "http://dbpedia.org"));
51
+            services.AddTransient<DbPediaDataAccess>();
48 52
 
49 53
             services.Configure<AppConfigDbo>(dbo =>
50 54
             {

Notiek ielāde…
Atcelt
Saglabāt