Browse Source

began dbpedia integration

tags/v2.0
Robin Thoni 7 years ago
parent
commit
51ffa2e869

+ 358
- 148
backend/WebSem/.idea/.idea.WebSem/.idea/workspace.xml View File

2
 <project version="4">
2
 <project version="4">
3
   <component name="ChangeListManager">
3
   <component name="ChangeListManager">
4
     <list default="true" id="8d054e21-e284-419c-acba-f672639639a4" name="Default" comment="">
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
     </list>
11
     </list>
7
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
12
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
8
     <option name="TRACKING_ENABLED" value="true" />
13
     <option name="TRACKING_ENABLED" value="true" />
35
   <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
40
   <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
36
   <component name="FileEditorManager">
41
   <component name="FileEditorManager">
37
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
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
           <provider selected="true" editor-type-id="text-editor">
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
             </state>
56
             </state>
75
           </provider>
57
           </provider>
76
         </entry>
58
         </entry>
77
       </file>
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
           <provider selected="true" editor-type-id="text-editor">
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
             </state>
92
             </state>
85
           </provider>
93
           </provider>
86
         </entry>
94
         </entry>
87
       </file>
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
           <provider selected="true" editor-type-id="text-editor">
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
               <folding>
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
               </folding>
113
               </folding>
108
             </state>
114
             </state>
109
           </provider>
115
           </provider>
111
       </file>
117
       </file>
112
     </leaf>
118
     </leaf>
113
   </component>
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
   <component name="Git.Settings">
128
   <component name="Git.Settings">
115
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../.." />
129
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../.." />
116
   </component>
130
   </component>
127
         <option value="$PROJECT_DIR$/WebApiWebSem/Program.cs" />
141
         <option value="$PROJECT_DIR$/WebApiWebSem/Program.cs" />
128
         <option value="$PROJECT_DIR$/WebApiWebSem/project.json" />
142
         <option value="$PROJECT_DIR$/WebApiWebSem/project.json" />
129
         <option value="$PROJECT_DIR$/Test/project.json" />
143
         <option value="$PROJECT_DIR$/Test/project.json" />
130
-        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/DbPediaDataAccess.cs" />
131
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesAddDbo.cs" />
144
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesAddDbo.cs" />
132
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesEditDbo.cs" />
145
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesEditDbo.cs" />
133
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsDbo.cs" />
146
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsDbo.cs" />
134
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesEditDbo.cs" />
147
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesEditDbo.cs" />
135
-        <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesDbo.cs" />
136
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesBasicDbo.cs" />
148
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesBasicDbo.cs" />
137
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesAddDbo.cs" />
149
         <option value="$PROJECT_DIR$/WebApiWebSem/Dbo/Articles/ArticlesAddDbo.cs" />
138
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/f5/6ff48199/LuEfCrudDataAccess`6.cs" />
150
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/f5/6ff48199/LuEfCrudDataAccess`6.cs" />
143
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/27/e8d84624/LuCrudInterfaceExtensions.cs" />
155
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/27/e8d84624/LuCrudInterfaceExtensions.cs" />
144
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/20/5bcc5074/ILuCrudInterface`4.cs" />
156
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/68A505D3-EE90-4B2D-8432-759050F70CC3/20/5bcc5074/ILuCrudInterface`4.cs" />
145
         <option value="$USER_HOME$/.local/share/JetBrains/Shared/v08/DecompilerCache/decompiler/B004CFF6-238D-4ED0-8011-AF53475172BF/ef/575d29a5/EntityFrameworkQueryableExtensions.cs" />
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
         <option value="$PROJECT_DIR$/WebApiWebSem/Controllers/ArticlesBusiness.cs" />
158
         <option value="$PROJECT_DIR$/WebApiWebSem/Controllers/ArticlesBusiness.cs" />
148
         <option value="$PROJECT_DIR$/WebApiWebSem/Controllers/ArticlesController.cs" />
159
         <option value="$PROJECT_DIR$/WebApiWebSem/Controllers/ArticlesController.cs" />
149
-        <option value="$PROJECT_DIR$/WebApiWebSem/Startup.cs" />
150
         <option value="$PROJECT_DIR$/Test/Tests.cs" />
160
         <option value="$PROJECT_DIR$/Test/Tests.cs" />
151
-        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs" />
152
         <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContextPartial.cs" />
161
         <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContextPartial.cs" />
153
-        <option value="$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs" />
154
         <option value="$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json" />
162
         <option value="$PROJECT_DIR$/WebApiWebSem/appsettings.Development.json" />
155
         <option value="$PROJECT_DIR$/WebApiWebSem/NuGet.Config" />
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
       </list>
172
       </list>
157
     </option>
173
     </option>
158
   </component>
174
   </component>
222
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
238
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
223
             </PATH_ELEMENT>
239
             </PATH_ELEMENT>
224
             <PATH_ELEMENT>
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
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
256
               <option name="myItemType" value="com.jetbrains.resharper.projectView.solutionExplorer.SolutionExplorerNodeRider" />
227
             </PATH_ELEMENT>
257
             </PATH_ELEMENT>
228
           </PATH>
258
           </PATH>
301
       <workItem from="1487441650798" duration="14018000" />
331
       <workItem from="1487441650798" duration="14018000" />
302
       <workItem from="1487528667649" duration="13931000" />
332
       <workItem from="1487528667649" duration="13931000" />
303
       <workItem from="1487802391451" duration="10532000" />
333
       <workItem from="1487802391451" duration="10532000" />
334
+      <workItem from="1489874619333" duration="10934000" />
304
     </task>
335
     </task>
305
     <servers />
336
     <servers />
306
   </component>
337
   </component>
307
   <component name="TimeTrackingManager">
338
   <component name="TimeTrackingManager">
308
-    <option name="totallyTimeSpent" value="51329000" />
339
+    <option name="totallyTimeSpent" value="62263000" />
309
   </component>
340
   </component>
310
   <component name="TodoView">
341
   <component name="TodoView">
311
     <todo-panel id="selected-file">
342
     <todo-panel id="selected-file">
326
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
       <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" />
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
     </layout>
378
     </layout>
348
   </component>
379
   </component>
356
     <watches-manager />
387
     <watches-manager />
357
   </component>
388
   </component>
358
   <component name="editorHistoryManager">
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
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
398
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
360
       <provider selected="true" editor-type-id="text-editor">
399
       <provider selected="true" editor-type-id="text-editor">
361
         <state relative-caret-position="1854">
400
         <state relative-caret-position="1854">
362
           <caret line="103" column="17" lean-forward="true" selection-start-line="103" selection-start-column="17" selection-end-line="103" selection-end-column="17" />
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
         </state>
425
         </state>
365
       </provider>
426
       </provider>
366
     </entry>
427
     </entry>
368
       <provider selected="true" editor-type-id="text-editor">
429
       <provider selected="true" editor-type-id="text-editor">
369
         <state relative-caret-position="0">
430
         <state relative-caret-position="0">
370
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
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
         </state>
455
         </state>
373
       </provider>
456
       </provider>
374
     </entry>
457
     </entry>
511
       <provider selected="true" editor-type-id="text-editor">
594
       <provider selected="true" editor-type-id="text-editor">
512
         <state relative-caret-position="489">
595
         <state relative-caret-position="489">
513
           <caret line="39" column="42" lean-forward="true" selection-start-line="39" selection-start-column="42" selection-end-line="39" selection-end-column="42" />
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
         </state>
597
         </state>
523
       </provider>
598
       </provider>
524
     </entry>
599
     </entry>
536
         </state>
611
         </state>
537
       </provider>
612
       </provider>
538
     </entry>
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
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsAddDbo.cs">
614
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsAddDbo.cs">
554
       <provider selected="true" editor-type-id="text-editor">
615
       <provider selected="true" editor-type-id="text-editor">
555
         <state relative-caret-position="36">
616
         <state relative-caret-position="36">
578
         </state>
639
         </state>
579
       </provider>
640
       </provider>
580
     </entry>
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
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsEditDbo.cs">
642
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/Dbo/ArticlesFields/ArticlesFieldsEditDbo.cs">
589
       <provider selected="true" editor-type-id="text-editor">
643
       <provider selected="true" editor-type-id="text-editor">
590
         <state relative-caret-position="234">
644
         <state relative-caret-position="234">
620
         </state>
674
         </state>
621
       </provider>
675
       </provider>
622
     </entry>
676
     </entry>
623
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs">
677
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContextPartial.cs">
624
       <provider selected="true" editor-type-id="text-editor">
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
         </state>
681
         </state>
629
       </provider>
682
       </provider>
630
     </entry>
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
       <provider selected="true" editor-type-id="text-editor">
720
       <provider selected="true" editor-type-id="text-editor">
633
         <state relative-caret-position="0">
721
         <state relative-caret-position="0">
634
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
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
           <folding>
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
           </folding>
745
           </folding>
643
         </state>
746
         </state>
644
       </provider>
747
       </provider>
645
     </entry>
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
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContext.cs">
757
     <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/WsDbContext.cs">
647
       <provider selected="true" editor-type-id="text-editor">
758
       <provider selected="true" editor-type-id="text-editor">
648
         <state relative-caret-position="90">
759
         <state relative-caret-position="90">
649
           <caret line="5" column="36" lean-forward="false" selection-start-line="5" selection-start-column="25" selection-end-line="5" selection-end-column="36" />
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
         </state>
768
         </state>
652
       </provider>
769
       </provider>
653
     </entry>
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
       <provider selected="true" editor-type-id="text-editor">
804
       <provider selected="true" editor-type-id="text-editor">
656
         <state relative-caret-position="126">
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
           <folding>
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
           </folding>
811
           </folding>
663
         </state>
812
         </state>
664
       </provider>
813
       </provider>
665
     </entry>
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
       <provider selected="true" editor-type-id="text-editor">
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
           <folding />
819
           <folding />
671
         </state>
820
         </state>
672
       </provider>
821
       </provider>
673
     </entry>
822
     </entry>
674
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/appsettings.json">
823
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ArticlesDataAccess.cs">
675
       <provider selected="true" editor-type-id="text-editor">
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
         </state>
850
         </state>
680
       </provider>
851
       </provider>
681
     </entry>
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
       <provider selected="true" editor-type-id="text-editor">
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
           <folding />
857
           <folding />
687
         </state>
858
         </state>
688
       </provider>
859
       </provider>
689
     </entry>
860
     </entry>
690
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/project.json">
861
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/Business/ArticlesBusiness.cs">
691
       <provider selected="true" editor-type-id="text-editor">
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
           <folding>
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
           </folding>
872
           </folding>
709
         </state>
873
         </state>
710
       </provider>
874
       </provider>
711
     </entry>
875
     </entry>
712
-    <entry file="file://$PROJECT_DIR$/WebApiWebSem/NuGet.Config">
876
+    <entry file="file://$PROJECT_DIR$/WebApiWebSem/DataAccess/ModelsDbo.cs">
713
       <provider selected="true" editor-type-id="text-editor">
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
         </state>
927
         </state>
718
       </provider>
928
       </provider>
719
     </entry>
929
     </entry>

+ 18
- 1
backend/WebSem/WebApiWebSem/Business/ArticlesBusiness.cs View File

1
 using Luticate2.Utils.Business;
1
 using Luticate2.Utils.Business;
2
+using Luticate2.Utils.Dbo.Basic;
3
+using Luticate2.Utils.Dbo.PaginatedRequest;
4
+using Luticate2.Utils.Dbo.Result;
2
 using Luticate2.Utils.Interfaces;
5
 using Luticate2.Utils.Interfaces;
3
 using WebApiWebSem.DataAccess;
6
 using WebApiWebSem.DataAccess;
4
 using WebApiWebSem.Dbo.Articles;
7
 using WebApiWebSem.Dbo.Articles;
7
 {
10
 {
8
     public class ArticlesBusiness : LuCrudBusiness<ArticlesDataAccess, ArticlesAddDbo, ArticlesDbo, ArticlesEditDbo, string>
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
             EntityType = "articles";
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 View File

13
 {
13
 {
14
     public class ArticlesDataAccess : LuEfCrudDataAccess<articles, ArticlesAddDbo, ArticlesDbo, ArticlesEditDbo, WsDbContext, string>
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
         public ArticlesDataAccess(IServiceProvider serviceProvider) : base(serviceProvider)
18
         public ArticlesDataAccess(IServiceProvider serviceProvider) : base(serviceProvider)
19
         {
19
         {
39
             return db.articles;
39
             return db.articles;
40
         }
40
         }
41
 
41
 
42
-        protected string GetFilterType(LuFilterDbo filter)
42
+        public static string GetFilterType(LuFilterDbo filter)
43
         {
43
         {
44
             var type = filter.GetFilterString("type", null);
44
             var type = filter.GetFilterString("type", null);
45
             if (type == null || !Types.Contains(type.ToLower()))
45
             if (type == null || !Types.Contains(type.ToLower()))

+ 159
- 12
backend/WebSem/WebApiWebSem/DataAccess/DbPediaDataAccess.cs View File

1
 using System;
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
 using VDS.RDF.Query;
9
 using VDS.RDF.Query;
10
+using WebApiWebSem.Dbo.Articles;
11
+using WebApiWebSem.Dbo.ArticlesFields;
3
 
12
 
4
 namespace WebApiWebSem.DataAccess
13
 namespace WebApiWebSem.DataAccess
5
 {
14
 {
6
     public class DbPediaDataAccess
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 View File

1
 using System.Linq;
1
 using System.Linq;
2
+using Luticate2.Utils.Dbo.OrderBy;
2
 using Luticate2.Utils.Utils;
3
 using Luticate2.Utils.Utils;
3
 using WebApiWebSem.DataAccess.Models;
4
 using WebApiWebSem.DataAccess.Models;
4
 using WebApiWebSem.Dbo.Articles;
5
 using WebApiWebSem.Dbo.Articles;
40
                 UpdatedAt = model.updated_at.ToDbo()
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 View File

5
 {
5
 {
6
     public class ArticlesDbo : ArticlesAddDbo<ArticlesFieldsDbo>
6
     public class ArticlesDbo : ArticlesAddDbo<ArticlesFieldsDbo>
7
     {
7
     {
8
-        public DateTime CreatedAt { get; set; }
8
+        public DateTime? CreatedAt { get; set; }
9
 
9
 
10
         public DateTime? UpdatedAt { get; set; }
10
         public DateTime? UpdatedAt { get; set; }
11
     }
11
     }

+ 4
- 0
backend/WebSem/WebApiWebSem/Startup.cs View File

1
+using System;
1
 using System.Reflection;
2
 using System.Reflection;
2
 using Luticate2.Utils.Controllers;
3
 using Luticate2.Utils.Controllers;
3
 using Microsoft.AspNetCore.Builder;
4
 using Microsoft.AspNetCore.Builder;
6
 using Microsoft.Extensions.Configuration;
7
 using Microsoft.Extensions.Configuration;
7
 using Microsoft.Extensions.DependencyInjection;
8
 using Microsoft.Extensions.DependencyInjection;
8
 using Microsoft.Extensions.Logging;
9
 using Microsoft.Extensions.Logging;
10
+using VDS.RDF.Query;
9
 using WebApiWebSem.Business;
11
 using WebApiWebSem.Business;
10
 using WebApiWebSem.DataAccess;
12
 using WebApiWebSem.DataAccess;
11
 using WebApiWebSem.Dbo;
13
 using WebApiWebSem.Dbo;
45
 
47
 
46
             services.AddTransient<ArticlesBusiness>();
48
             services.AddTransient<ArticlesBusiness>();
47
             services.AddTransient<ArticlesDataAccess>();
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
             services.Configure<AppConfigDbo>(dbo =>
53
             services.Configure<AppConfigDbo>(dbo =>
50
             {
54
             {

Loading…
Cancel
Save