Самостійна робота 2.
Використання Ontotext GraphDB OpenRefine та опрацювання набору даних у форматі CSV для перетворення у RDF.
Продивіться відео https://ontotext.com/knowledgehub/videos/ontorefine/ та https://ontotext.com/knowledgehub/fundamentals/ontorefine-2/. Альтернативно - прочитайте інструкцію тут: http://graphdb.ontotext.com/documentation/free/loading-data-using-ontorefine.html (англійською)
Візьміть файл nasa-nssdc-sample.csv - це дані про космічні човники (дехто з вас бачив ці дані у курсі Semantic Web Technologies на 4 курсі бакалаврату), сконвертуйте його (за змістом даних) у RDF за допомогою Ontotext GraphDB OpenRefine, та розмістить у новому репозиторії shuttle.
Продемонструйте дані у репозиторії shuttle різними способами,у тому числі - у графі.
Повторіть все для нового репозиторію з ім'ям irises, сконвертуйте iris.csv у RDF та завантажте у irises.
Надайте екранні копіі відкритих репозиторіів.
Як додати дані до ендпоінту
Приклад запиту на додавання даних до ендпойнту дивіться нижче. Вказаний ендпоінт - <ontorefine:1795259130332> - для прикладу, ви можете дізнатися номер ендпоінту на вашему комп'ютеру так:
У меню Data оберіть Get SPARQL endpoint. Строка, що буде відображена, є назвою вашого ендпоінту
Далі поверніться у вікно OpenRefine, у меню Data оберіть create CONSTRUCT query. Виконайте створений системою запит за допомогою кнопки Run. Продивіться, чи ви задоволені результатами - всі поля вказані, всі назви стовпців відповідають змісту.
Якщо все нормально, скопіюйте цей запит, перейдіть у вікно SPARQL, і введіть скопійований запит, замінивши CONSTRUCT на INSERT, і додавши рядок SERVICE ... як вказано у прикладі:
PREFIX shuttle: <http://example.com/shuttle/>
PREFIX spif: <http://spinrdf.org/spif#>
# Example RDF transformation using the custom IRIs and type
INSERT {
?myRowId a shuttle:Row ;
shuttle:Id ?Id ;
shuttle:Title ?Title ;
shuttle:Country ?Country ;
shuttle:Link ?Link ;
shuttle:Weight ?Weight ;
shuttle:Date ?Date ;
shuttle:Satellite ?Satellite ;
shuttle:Place ?Place ;
shuttle:Description ?Description .
} WHERE {
SERVICE <ontorefine:1795259130332> {
# Triple patterns for accessing each row and the columns in contains
# Note that no triples will be generated for NULL values in the table
# You should inspect your data in Refine mode and add OPTIONAL accordingly
?row a shuttle:Row ;
shuttle:Id ?Id ;
shuttle:Title ?Title ;
shuttle:Country ?Country ;
shuttle:Link ?Link ;
shuttle:Weight ?Weight ;
shuttle:Date ?Date ;
shuttle:Satellite ?Satellite ;
shuttle:Place ?Place ;
shuttle:Description ?Description .
# Example construction of new IRIs for each row
BIND(IRI(spif:buildString("http://example.com/shuttle/{?1}", ENCODE_FOR_URI(?Id))) AS ?myRowId)
}
}
- 20 August 2018, 15:58 PM
- 20 August 2018, 15:20 PM