Internet Semantyczny. Podstawy SPARQL

Podobne dokumenty
Wstęp do Technologii Semantycznych SPARQL

Internet Semantyczny. Schematy RDF i wnioskowanie

Rozszerzenie funkcjonalności systemów wiki w oparciu o wtyczki i Prolog

RDF Schema (schematy RDF)

Semantic Web. dr inż. Aleksander Smywiński-Pohl. Elektroniczne Przetwarzanie Informacji Konsultacje: czw , pokój 3.211

Technologie semantyczne i sieci społecznościowe laboratorium

Internet Semantyczny. Wstęp do OWL 2

Internet Semantyczny. Idea

XML extensible Markup Language 7

Język zapytań SPARQL. Agnieszka Ławrynowicz. Instytut Informatyki Politechniki Poznańskiej Poznań, 2014

lata , Oś priorytetowa III: Gospodarka, Innowacyjność, Przedsiębiorczość, Działanie III.3 Rozwój B+R w przedsiębiorstwach.

Ontologia, wypożyczalnia wideo stworzona na podstawie relacyjnej bazy danych

Semantic Web. Grzegorz Olędzki. prezentacja w ramach seminarium Protokoły komunikacyjne. luty 2005

Na podstawie artykułu:

Web NDL Authorities SPARQL API Specication

Technologie Sieci Semantycznych

APLIKACJA WSPOMAGAJĄCA PRZEPROWADZENIE POWTÓREK W PROCESIE UCZENIA SIĘ STWORZONA NA PODSTAWIE MODELU SIECI SEMANTYCZNEJ

Marcin Skulimowski - RDF

Pierwsza niedogodność dotyczy strony zarządzaj działami.

Projektowani Systemów Inf.

SYSTEM DO GENEROWANIA ONTOLOGII NA PODSTAWIE DIAGRAMÓW UML SYSTEM TO ONTOLOGY GENERATION FROM UML DIAGRAMS

3 grudnia Sieć Semantyczna

Sieci semantyczne sa. Sieci semantyczne: relacje ISA i AKO

Język zapytań SPARQL

Przetwarzanie języka naturalnego (NLP)

Internet Semantyczny. Linked Open Data

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

Podstawy programowania III WYKŁAD 2

6. Bezpieczeństwo przy współpracy z bazami danych

Instytut Technik Innowacyjnych Semantyczna integracja danych - metody, technologie, przykłady, wyzwania

INSTRUKCJA INSTALACJI DATAMOBILE. Ver. 1.3

A co to jest LDAP. Dariusz Żbik Remigiusz Górecki

Aplikacje WWW - laboratorium

Grafowe języki zapytań. Anna Kosieradzka

Paweł Rajba

Krzysztof Kutt Sprawozdanie 2: Modeling knowledge with Resource Description Framework (RDF)

Język zapytań SPARQL. Agnieszka Ławrynowicz. Instytut Informatyki Politechniki Poznańskiej Poznań, 2018

Twój samochód 24 czerwca Klasa B: B 200. B 200 Cena całkowita PLN. wydajności energetycznej. 9 l/100km Zużycie paliwa (faza niska)

DTD - encje ogólne i parametryczne, przestrzenie nazw

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

1 XML w bazach danych

WPROWADZENIE. Użycie PHP

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.

Web 3.0 SIEĆ PEŁNA ZNACZEŃ Web Full of Meaning Łódź, 16 styczeń 2013

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation

Administracja i programowanie pod Microsoft SQL Server 2000

Semantyczne Wiki na przykładzie Semantic MediaWiki

Przestrzenne bazy danych Podstawy języka SQL

Baza numerów Wersja 1.1

Semantyczne Wiki! na przykładzie! Semantic MediaWiki!

SQL (ang. Structured Query Language)

Twój samochód. CLA: CLA 200 Coupé. CLA 200 Coupé Cena całkowita PLN. Twój kod online: MDFWK2F4. 12 sierpnia 2019

Aplikacje WWW - laboratorium

Twój samochód 24 czerwca 2019

Systemy GIS Tworzenie zapytań w bazach danych

Encje w Drupalu. Tworzenie własnych encji i ich wpływ na poprawę wydajności

Nowe technologie semantyczne w Oracle 11gR1 i ich interfejs programistyczny

Dokumentacja techniczna API systemu SimPay.pl

1 XXIII Forum Teleinformatyki, września 2017 r.

Reprezentacja wiedzy: SPARQL, DBpedia, inżynieria wiedzy i integracja modeli danych

Tworzenie zapytań do Microsoft SQL Server

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

SQL praca z tabelami 4. Wykład 7

Paweł Rajba

LELLEK Group. Dane samochodu i wyposażenie

P o d s t a w y j ę z y k a S Q L

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

PHP: bazy danych, SQL, AJAX i JSON

Aspekty bezpieczeństwa aplikacji internetowych

Wysyłka dokumentacji serwisowej z Sekafi3 SQL do producentów.

Laboratorium 10. Odkrywanie cech i algorytm Non-Negative Matrix Factorization.

GEO-SYSTEM Sp. z o.o Warszawa, ul. Podbipięty 34 m. 7, tel./fax , geo-system@geo-system.com.

Sprawozdanie nr 4. Ewa Wojtanowska

XML w bazach danych i bezpieczeństwie

Projekt strony internetowej firmy organizującej przyjęcia

XML Path Language (XPath)

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

Napisy w PHP. Drukowanie napisów instrukcją echo

Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory.

Semantic Web Internet Semantyczny

Instalacja MySQL.

Semantic Technologies, czyli Oracle i Web 3.0

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Twój samochód 19 czerwca 2019

AKADEMICKA BAZA INFORMACJI JAKO PRZYKŁAD WYKORZYSTANIA TECHNOLOGII SIECI SEMANTYCZNEJ

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Laboratorium 1 Wprowadzenie do PHP


3. Budowa prostych raportów opartych o bazę danych

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Autor: Joanna Karwowska

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Dokumentacja API BizIn

Wprowadzenie. Rozdział 23 PDO. Podstawowe kroki aplikacji. Źródło danych

Wstęp do Technologii Semantycznych. Idea, język RDF

Cechy języka XQUERY. o na wejściu dokument lub fragment względnie kolekcja dokumentów lub fragmentów o na wyjściu dokument lub fragment.

Reprezentacja wiedzy ontologie, logiki deskrypcyjne

Transkrypt:

Internet Semantyczny Podstawy SPARQL

Co to jest SPARQL? Skrót SPARQL to akronim od SPARQL Protocol and RDF Query Language. Jest to język zapytań dla formatu RDF nie ogranicza się jednak do RDF wiele innego rodzaju danych może być traktowanych jak RDF. SPARQL Informacja http://www.w3.org/tr/rdf-sparql-query/

Co to jest SPARQL? Zapytania w języku SPARQL mają zwykle standardową postać: I want these pieces of information from the subset of the data that meets these conditions Warunki o których mowa opisywane są za pomocą tzw. triple patterns. Triple patterns przypominają zwykłe stwierdzenia RDF z tą różnicą, że mogą w nich występować zmienne (rozpoczyjące się od?).

Szablon zapytania: SELECT co FROM skąd warunek Warunek ma zwykle postać: s1 p1 o1. s2 p2 o2. s3 p3 o3.... triple patterns W miejsce elementów stwierdzeń mogą pojawiać się zmienne np.?s1,?p3 itd,

Za pomocą pobieramy dane. Za pomocą SELECT decydujemy co chcemy mieć pokazane.

Endpoint Źródło danych RDF określone po FROM może być podane wprost w zapytaniu: FROM <data.ttl> bądź ustawione domyślnie. Każdy zbiór danych RDF dostępny online posiada zwykle tzw. endpoint czyli serwis akceptujący zapytania SPARQL i zwracający wyniki.

Endpoint http://www.w3.org/wiki/sparqlendpoints

Endpoint http://dbpedia.org/sparql

Endpoint http://labs.mondeca.com/endpoint/lov

Dane RDF

Dane RDF @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix uco: <http://makolab.com/uconto#>. <http://moto.pl/uzywane/012345/> rdf:type uco:osobowy; uco:przebieg "120000"; uco:rocznik "2005"^^<http://www.w3.org/2001/XMLSchema#gYear>; uco:silnik [uco:pojemnosc <http://makolab.com/uconto/eng/1600>; uco:paliwo <http://makolab.com/uconto/pet/diesel>; uco:moc "95 KM".]; uco:extra "czujnik deszczu"; uco:extra "kontrola trakcji"; (3 samochody) uco:kontakt "556789890".

SPARQL online? http://librdf.org/query

SPARQL lokalnie np. z wykorzystaniem RDF PHP API (ograniczenia)

SPARQL lokalnie Skrypt PHP: <?php if($_get['query']!="") $querystring = $_GET['query']; define("rdfapi_include_dir","d:/xampp/rdfapi-php/api/"); include(rdfapi_include_dir. "RDFAPI.php"); $data = ModelFactory::getDefaultModel(); $data->load('data.rdf'); $result = $data->sparqlquery($querystring); echo $data->sparqlquery($querystring,'html');?>

Interesują nas wszystkie stwierdzenia z bazy. SELECT?s?p?o?s?p?o. SELECT *?s?p?o.

Wynik (fragment):

Interesują nas orzeczenia stwierdzeń z bazy. SELECT?p?s?p?o.

Wynik (fragment):

Interesują nas (różne) orzeczenia stwierdzeń z bazy. SELECT DISTINCT?p?s?p?o.

Interesują nas samochody z rocznika 2005. SELECT?car?car uco:rocznik "2005".

Interesują nas samochody osobowe. PREFIX rdf: <http://www.w3.org/1999/02/22-rdfsyntax-ns#>. SELECT?car?car rdf:type uco:osobowy.

Interesuje nas możliwe wyposażenie dodatkowe. SELECT?extra?car uco:extra?extra.

Interesuje nas możliwe wyposażenie dodatkowe w samochodach z rocznika 2006. SELECT?extra?car uco:extra?extra.?car uco:rocznik "2006".

Interesują nas samochody z rocznika 2006 posiadające kontrolę trakcji. SELECT?car?car uco:extra "kontrola trakcji".?car uco:rocznik "2006".

Interesuje nas przebieg samochodów z rocznika 2006 posiadających kontrolę trakcji. SELECT?przebieg?car uco:extra "kontrola trakcji".?car uco:rocznik "2006".?car uco:przebieg?przebieg.

Interesują nas samochody (ich przebieg i moc) z rocznika 2006 posiadające kontrolę trakcji. SELECT?car?przebieg?moc?car uco:extra "kontrola trakcji".?car uco:rocznik "2006".?car uco:przebieg?przebieg.?car uco:silnik?silnik.?silnik uco:moc?moc.

Interesują nas samochody (ich przebieg i moc) posiadające kontrolę trakcji. SELECT?car?przebieg?moc?car uco:extra "kontrola trakcji".?car uco:przebieg?przebieg.?car uco:silnik?silnik.?silnik uco:moc?moc.

Interesuje nas moc silnika samochodu o podanym URI. SELECT?moc <http://moto.pl/uzywane/012345/> uco:silnik?s.?s uco:moc?moc.

Interesuje nas przebiegi samochodów z rocznika 2005. SELECT?przebieg?s uco:rocznik "2005".?s uco:przebieg?przebieg.

Interesuje nas przebiegi samochodów z rocznika 2011. SELECT?przebieg?s uco:rocznik "2011".?s uco:przebieg?przebieg.

Interesują nas wszystkie samochody (ich przebieg i moc). SELECT?car?przebieg?moc?car uco:przebieg?przebieg.?car uco:silnik?silnik.?silnik uco:moc?moc.

Przykład - Turtle @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix uco: <http://makolab.com/uconto#>. <http://moto.pl/uzywane/012345/> rdf:type uco:osobowy; uco:przebieg "120000"; ( usuwamy dla jednego samochodu) uco:rocznik "2005"^^<http://www.w3.org/2001/XMLSchema#gYear>; uco:silnik [uco:pojemnosc <http://makolab.com/uconto/eng/1600>; uco:paliwo <http://makolab.com/uconto/pet/diesel>; uco:moc "95 KM".]; uco:extra "czujnik deszczu"; uco:extra "kontrola trakcji"; (3 samochody) uco:kontakt "556789890".

Ponownie interesują nas wszystkie samochody (ich przebieg i moc). SELECT?car?przebieg?moc?car uco:przebieg?przebieg.?car uco:silnik?silnik.?silnik uco:moc?moc.

Ponownie interesują nas wszystkie samochody (ich przebieg i moc). SELECT?car?przebieg?moc?car uco:silnik?silnik.?silnik uco:moc?moc. OPTIONAL?car uco:przebieg?przebieg.

Interesują nas samochody z rocznika co najwyżej 2006. SELECT?car?rok?car uco:rocznik?rok. FILTER (?rok > 2005)

Interesuje nas możliwe (różne) wyposażenie dodatkowe (z pominięciem 3 pierwszych) SELECT DISTINCT?extra?car uco:extra?extra. OFFSET 3

Interesuje nas możliwe wyposażenie dodatkowe (z ograniczeniem do 3) SELECT?extra?car uco:extra?extra. LIMIT 3

Interesują nas wszystkie samochody (ich przebieg i moc). SELECT?car?przebieg?moc?car uco:przebieg?przebieg.?car uco:silnik?silnik.?silnik uco:moc?moc. ORDER BY ASC(?moc)

Interesują nas wszystkie samochody (ich przebieg i moc). SELECT?car?przebieg?moc?car uco:przebieg?przebieg.?car uco:silnik?silnik.?silnik uco:moc?moc. ORDER BY DESC(?moc)

Interesują nas wszystkie samochody (ich przebieg i moc). SELECT?car?przebieg?moc?car uco:przebieg?przebieg.?car uco:silnik?silnik.?silnik uco:moc?moc. ORDER BY DESC(?moc) LIMIT 2

Interesuje nas maksymalna moc. SELECT (MAX(?moc) as?maxmoc)?silnik uco:moc?moc.

Interesuje nas średnia moc. SELECT (AVG(?moc) as?avgmoc)?silnik uco:moc?moc.

Interesuje nas ilość samochodów z rocznika 2006. SELECT (COUNT(?car) as?ctotal)?car uco:rocznik "2006".

SPARQL i nasza ontologia

SPARQL i nasza ontologia

SPARQL i nasza ontologia Interesują nas klasy ontologii z których jedna zwiera się w drugiej. SELECT?subject?object?subject rdfs:subclassof?object

SPARQL i nasza ontologia Interesują nas klasy ontologii będące podklasą klasy DlaDzieci. SELECT?subject?subject rdfs:subclassof ksiazki:dladzieci

SPARQL i nasza ontologia Interesują nas książki należące do klasy Polityka. SELECT?subject?subject rdf:type ksiazki:polityka

SPARQL i nasza ontologia Interesują nas wydawcy książek z kategorii (klasy) Polityka. SELECT?subject?wydawca?subject rdf:type ksiazki:polityka.?subject ksiazki:mawydawcę?wydawca.

SPARQL i nasza ontologia Interesują nas autorzy książek z kategorii (klasy) Polityka wydanych przez ksiazki:almapres. SELECT?subject?autor?subject rdf:type ksiazki:polityka.?subject ksiazki:mawydawcę ksiazki:almapress.?subject ksiazki:maautora?autor.