TZT - Laboratorium 15 Zapytania W Języku Cypher, Program Gephi

TZT - Laboratorium 15 Zapytania W Języku Cypher, Program Gephi

TZT - Laboratorium 15 Zapytania w języku Cypher, program Gephi Zadanie 0 – uruchomienie bazy i wyczyszczenie jej, zapoznanie się z nią Uruchamiamy bazę Neo4J i usuwamy z niej wszystko poleceniem: MATCH (n) DETACH DELETE n; Zadanie 1 – utworzenie bazy polskich filmów Proszę w pustej bazie wykonać polecenia z pliku polishSmall.cypher (cat plik.cypher | cypher-shell). Jest to mała baza 13 polskich filmów, 80 aktorów, 25 producentów. Powinna się ona jeszcze dać wyświetlić w przeglądarce w Neo4J browser: Proszę sobie przejrzeć, to co się utworzyło i nadać aktorom, reżyserom i producentom inne kolory – łatwiej czytać graf. Zadanie 2 – różne zapytania Dla bazy utworzonej w zadaniu 1 proszę wykonać poniższe polecenia, można sobie wybrać niektóre z nich, nie są trudne. Uporządkowałem je według różnych klauzul, mniej więcej. Klauzula MATCH i RETURN - https://neo4j.com/docs/developer-manual/current/cypher/clauses/match/ czyli pobieranie danych: • tytuły wszystkich filmów • filmy, których reżyserem był Juliusz Machulski, wynik powinien zawierać 5 filmów, film „Kiler” nie powinien występować dwa razy • typy relacji (funkcja type() ), które łączą Juliusza Machulskiego z filmem Kiler; korzystając z aliasu proszę zwrócić wyniki w kolumnie `Typy relacji`: • wszystkie osoby grające w filmie „Vinci”, wzorzec powinien zawierać typ relacji (GRAL_W) • wszystkie osoby, które reżyserowały albo produkowały film „Vinci”, trzeba określi dwa alternatywne typy relacji • wszystkie role jakie odgrywali „Jerzy Stuhr” i „Marek Konrad”; będzie potrzebne WHERE i operator IN • reżyser i tytuł filmu, w którym grał „Tomasz Kot” - troszkę dłuższy wzorzec • wszyscy aktorzy, którzy znają aktorów występujących w filmach reżyserowanych przez Marka Koterskiego, chodzi mi tutaj o wykorzystanie zmiennej długości ścieżki: https://neo4j.com/docs/developer-manual/current/cypher/clauses/match/#varlength-rels • MATCH ({nazwa:"Marek Koterski"})-[*4]-(n:AKTOR) RETURN n; • wszystko o filmie „Miś” (dane o samym filmie, aktorach, reżyserach i producentach; wszystko w jednej kolumnie – ścieżka zerowej długości) • najkrótsza ścieżka między Jerzym Stuhrem a Janem Machulskim – funkcja shortestPath(), zob https://neo4j.com/docs/developer-manual/current/cypher/clauses/match/#query-shortest-path, następnie wszystkie najkrótsze ścieżki, funkcja allShortestPaths() • informacje o węźle z id równym np. 3883 (u was będą inne wartości), użycie klauzuli WHERE i funkcji id() Klauzula RETURN - https://neo4j.com/docs/developer-manual/current/cypher/clauses/return/ • Lista filmów z informacją czy zostały wyprodukowane po 1990 roku: "Film Kiler wyprodukowany po 1990 roku: true" "Film Seksmisja wyprodukowany po 1990 roku: false" "Film Vinci wyprodukowany po 1990 roku: true" "Film Vabank wyprodukowany po 1990 roku: false" … Klauzula SET - https://neo4j.com/docs/developer-manual/current/cypher/clauses/set/ • dodać do węzła Cezarego Pazury właściwość: dataUr: "1962-06-13" • dodać do węzła Cezarego Pazury jednocześnie informacje: wzrost=185 i miejsceUr="Tomaszów Mazowiecki" • dodać do filmów reżyserowanych przez Tomasza Bagińskiego etykietę ANIMACJA Klauzula REMOVE - https://neo4j.com/docs/developer-manual/current/cypher/clauses/remove/ • usunąć z węzła Tomasza Bagińskiego etykietę REZYSER, właściwość zdjeceURL i jednocześnie dodać etykietę osoba i właściwość dataUr="1976-01-10" Klauzule ODRER BY, SKIP, LIMIT - https://neo4j.com/docs/developer-manual/current/cypher/clauses/order-by/ • lista tytułów wszystkich filmów posortowana malejąco według średniej oceny filmu, tylko pierwsze 5 wyników • tak samo jak wyżej, tylko proszę wyświetlić drugą piątkę Klauzula FOREACH - https://neo4j.com/docs/developer-manual/current/cypher/clauses/foreach/ • dodanie do wszystkich węzłów osobowych (aktorzy, reżyserzy i producenci) połączonych z Juliuszem Machulskim etykiety OSOBA, do pozostałych grafów, odłączonych nie dodajemy; tutaj nie trzeba koniecznie wykorzystać FOREACH, ale można • mamy ścieżkę o długości 4 między dwoma filmami, pierwszym z nich jest „Dzień świra”, trzeba dodać do wszystkich relacji leżących na tej ścieżce właściwość dluzszyFilm=true, pod warunkiem, że film z drugiego końca ścieżki ma długość większą niż 105 min. Poniższe zapytanie zwróci wynik czyli te ścieżki, które spęłniły powyższe zapytanie: MATCH (n)-[{dluzszyFilm:true}]-() RETURN n; Zadanie 3 – większy graf, zapytanie, którego wynik trudniej przewidzieć :) - dla chętnych Można sobie wyczyścić bazę z filmów polskich (DETACH DELETE...) i utworzyć większą bazę pobraną z portalu Filmweb: grafLab15.cypher (676 węzłów, 714 relacji). Może być ciężko to zwizualizować, wymaga sporo pamięci. Całość graficznie wygląda tak: grafLab15.png. Można sobie spróbować znaleźć najkrótszą ścieżkę między dwoma filmami: • Cast Away - poza światem • Wichry namiętności i wyświetlić wszystkie osoby leżące na tej ścieżce..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    3 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us