Neo4J. Warsztat z grafowej bazy danych Neo4J. Warsztaty: do zdobycia 20 pkt.

Podobne dokumenty
Neo4J. Warsztat z grafowej bazy danych Neo4J. Laboratorium I: do zdobycia 40 pkt. Praca domowa: do zdobycia 10 pkt.

Grafowe języki zapytań. Anna Kosieradzka

Systemy baz danych. 1. Plan: 2. Zadania: Projekt Bazy Danych - wybór tematów, wstępna kategoryzacja 8. Projekt Bazy Danych - diagram ER

DataGuide w półstrukturalnych bazach danych

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

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

Autor: Joanna Karwowska

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Oracle11g: Wprowadzenie do SQL

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

1 Projektowanie systemu informatycznego

Język SQL, zajęcia nr 1

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

"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

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

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Tworzenie aplikacji bazodanowych

Temporalne bazy danych

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

Modelowanie danych, projektowanie systemu informatycznego

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Specjalizacja magisterska Bazy danych

Kostki OLAP i język MDX

TECHNOLOGIE OBIEKTOWE. Wykład 3

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

WPROWADZENIE DO BAZ DANYCH

Teoretyczne podstawy informatyki

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Modelowanie wymiarów

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

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

Projektowanie systemów baz danych

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Projektowanie baz danych za pomocą narzędzi CASE

Technologia informacyjna

Wykład 4. SQL praca z tabelami 1

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

8. Listy wartości, dodatkowe informacje dotyczące elementów i przycisków

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

PRZEWODNIK PO PRZEDMIOCIE

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Przestrzenne bazy danych Podstawy języka SQL

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Spis treści Informacje podstawowe Predykaty Przykłady Źródła RDF. Marek Prząda. PWSZ w Tarnowie. Tarnów, 6 lutego 2009

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Oracle PL/SQL. Paweł Rajba.

Teoretyczne podstawy informatyki

Wprowadzenie do baz danych

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Podstawy technologii WWW

Projekt małej Bazy Danych.

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Modele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

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

Bazy danych Ćwiczenia projektowe

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Przykładowa baza danych BIBLIOTEKA

Relacyjny model baz danych, model związków encji, normalizacje

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Post-relacyjne bazy danych

Hurtownie danych. 31 stycznia 2017

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki. Projekt bazy danych <Moja baza>

Modele danych - wykład V

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Wykrywanie przestępstw finansowych i przeciwdziałanie im z wykorzystaniem sieciowych baz danych system IAFEC

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Indeksowanie w bazach danych

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Rady i porady użytkowe

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

SQL SERVER 2016 IN MEMORY

Wykład :45 BD-1 W_3

Rysunek 1: Przykłady graficznej prezentacji klas.

Bazy danych TERMINOLOGIA

Zastosowanie CP-grafów do generacji siatek

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Systemowe aspekty baz

Usługi analityczne budowa kostki analitycznej Część pierwsza.

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

Projekt aplikacji prywatnej przychodni weterynaryjnej

Proces ETL. Katedra Inżynierii Oprogramowania Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska {kris,

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

ISBN

Algorytmy zachłanne. dr inż. Urszula Gałązka

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

INSTRUKCJA OBSŁUGI OPROGRAMOWANIA MOBILNY WERYFIKATOR ETYKIET 1.0

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

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

Transkrypt:

Neo4J Warsztat z grafowej bazy danych Neo4J Warsztaty: do zdobycia 20 pkt.

Projektowanie grafowych baz danych (1) 1. Identyfikujemy węzły, etykiety i związki Identyfikujemy węzły jako obiekty o unikalnej tożsamości. Przykład: Ludzie Tomeki Annasą przyjaciółmi. Zarówno Tomek, jak i Anna przeczytali książkę Lubię Neo4J.

Projektowanie grafowych baz danych (2) Identyfikujemy etykiety. Etykiety mówią nam czym/kim są zidentyfikowane węzły. Przykład etykiet: Człowiek, Książka.

Projektowanie grafowych baz danych (3) Przypisanie etykiet do węzłów. Przykład: Książka: Lubię Neo4J Człowiek: Tomek, Anna

Projektowanie grafowych baz danych (4) Powiązania pomiędzy obiektami. Tomek jest przyjacielem Ani. Ania jest przyjaciółką Tomka. Tomek przeczytał Lubię Neo4J. Ania przeczytała Lubię Neo4J.

Projektowanie grafowych baz danych (5) Kiedy Ania i Tomek zostali przyjaciółmi? Jaka jest ocena książki Lubię Neo4J? Kto jest autorem książki Lubię Neo4J? Ile lat ma Tomek? Ile lat ma Ania? Kto jest starszy Ania, czy Tomek? Kto pierwszy przeczytał książkę Tomek, czy Ania?

Projektowanie grafowych baz danych (6) Identyfikacja własności. jest przyjacielem: data poznania przeczytał: data Książka: ocena Książka: autorzy Człowiek: wiek

Projektowanie grafowych baz danych (7) 1. Opis dziedziny problemowej 2. Identyfikacja węzłów 3. Identyfikacja etykiet 4. Przypisanie etykiet do węzłów 5. Identyfikacja związków 6. Identyfikacja własności

Praca w grupach Wybór tematów Przykładowe tematy: 1. Leczenie (symptomy jakich chorób ma dany pacjent, jeżeli ma alergię na dane produkty to co może zjeść, czy nowo przepisany lek jest w interakcji z aktualnie przyjmowanymi lekami itd.) 2. Podróże samolotowe (najbliższe lotnisko dla danego miasta, najkrótsza droga między dwoma miastami itd.) 3. Sieci społecznościowe 4.

Tworzenie grafowej bazy danych CYPHER (1) CREATE tworzenie węzłów i związków 1. CREATE (n) 2. CREATE (n),(m) 3. CREATE (n:person) 4. CREATE (n:person:swedish) 5. CREATE (n:person { name :'Andres', title :'Developer'}) 6. CREATE (a{ name :'Andres'}) RETURN a

Tworzenie grafowej bazy danych CYPHER (2) 7. MATCH (a:person),(b:person) WHERE a.name = 'Node A' AND b.name = 'Node B CREATE (a)-[r:reltype]->(b) RETURN r 8. MATCH (a:person),(b:person) WHERE a.name= 'NodeA' AND b.name= 'NodeB CREATE (a)-[r:reltype{ name: a.name + '<->' + b.name}]->(b) RETURN r

Tworzenie grafowej bazy danych CYPHER (3) 9. CREATE p =(andres{ name:'andres' })-[:WORKS_AT]->(neo)<-[:WORKS_AT]- (michael{ name:'michael' }) RETURN p

Tworzenie grafowej bazy danych CYPHER (4) MERGE zapewnia, że dany wzorzec istnieje w grafie lub jest tworzony 1. MERGE (robert:critic) RETURN robert, labels(robert) Jeśli istnieje jakiś węzeł z etykietą Criticzwróci ten węzeł. Jeśli nie istnieje utworzy węzeł i przypisze mu etykietę Critic. 2. MERGE (charlie{ name:'charlie Sheen', age:10 }) RETURN charlie Jeśli istnieje węzeł o właściwych wartościach wszystkichatrybutów zwróci ten węzeł, jeśli nie utworzy taki węzeł i nada mu odpowiednie wartości atrybutów.

Tworzenie grafowej bazy danych CYPHER (5) 3. MATCH (person:person) MERGE (city:city{ name: person.bornin}) RETURN person.name, person.bornin, city 4. MERGE (keanu:person{ name:'keanu Reeves' }) ON CREATE SET keanu.age= 45 RETURN keanu.name, keanu.age 5. MERGE (keanu:person{ name:'keanu Reeves' }) ON MATCH SET keanu:actor RETURN labels(keanu)

Tworzenie grafowej bazy danych CYPHER (6) 6. MATCH (charlie:person{ name:'charlie Sheen' }),(wallstreet:movie { title:'wallstreet' }) MERGE (charlie)-[r:acted_in]->(wallstreet) RETURN charlie.name, type(r), wallstreet.title

Jaki model?

Model powiązań (ang. connectedmodel) 1. Pozwala łatwo definiować nowe przypadki. 2. Stanowi źródło surowych danych dla innych źródeł 1. Wielkość bazy łatwo wzrasta. 2. Agregacje i inne zapytania mogą działać wolno na olbrzymiej liczbie węzłów i krawędzi.

Model zagregowany (ang. agregatedmodel) 1. Szybko wykonywane są zapytania o agregaty. 2. Wielkość bazy szybkonie wzrasta. 1. Nowe agregacjenie mogą być wywiedzione z danych. 2. Potrzebne jest inne źródło danych, aby przechowywać surowe dane.

Model hybrydowy (ang. hybridmodel) Ma zalety obu modeli. Zadanie dla studentów: 1. Przygotuj listę przykładowych zapytań o agregaty. 2. Zaprojektuj hybrydowy model dla wybranej bazy.

Definiowanie schematu (1) Część możliwości daje tylko wersja ENTERPRISE! Indeksy możliwość tworzenia indeksu na zadanej własności, dla wszystkich węzłów o podanej etykiecie. Indeksy są automatycznie uaktualniane. Wolniejszy zapis i dane zajmują więcej miejsca. CREATE INDEX ON :Person(name) DROP INDEX ON :Person(name)

Definiowanie schematu (2) Ograniczenia (ang. constraints) nakładane na węzły lub związki CREATE CONSTRAINT ON (book:book) ASSERT book.isbn IS UNIQUE DROP CONSTRAINT ON (book:book) ASSERT book.isbn IS UNIQUE Nie uda się utworzyć ograniczenia unikalności w sytuacji, gdy w bazie znajdują się dwie książki o tym samym ISBN.

Definiowanie schematu (3) Każda książka musi mieć ustaloną własność isbn. CREATE CONSTRAINT ON (book:book) ASSERT exists(book.isbn) DROP CONSTRAINT ON (book:book) ASSERT exists(book.isbn) Nie można usunąć własności! MATCH (book:book{ title: 'Graph Databases' }) REMOVE book.isbn

Definiowanie schematu (4) CREATE CONSTRAINT ON ()-[like:liked]-() ASSERT exists(like.day) DROP CONSTRAINT ON ()-[like:liked]-() ASSERT exists(like.day)

Praca w grupach Zaprojektuj ograniczenia i indeksy dla opracowywanej bazy. Umieść plik na moodlu.