Na tomto cvičení budeme používať databázu záznamu crawlovania z projektu Kapsa. Môžete si ju stiahnuť tuto: crawl.sql.
Alternatívne môžete používať zo siete UPJŠ dostupnú MySQL DB na:
- adresa servera nosql.gursky.sk,
- schéma/databáza crawl,
- používateľ student,
- heslo nosql.
Dao pre tieto dáta je k dispozícii v novej verzii projektu https://gitlab.science.upjs.sk/nosql-2020/nosql-data-source.git
Na tomto cvičení budeme používať maven projekt neo4j (s groupId org.neo4j).
Keď budeme pracovať so vzdialenou DB, môžete k nej pristupovať okrem javy aj cez neo4j browser na adrese http://nosql.gursky.sk:7474/
- host: bolt://nosql.gursky.sk:7687
- user: neo4j
- heslo: ls90zxcnm89fs46p6d7a1jn
Zadania:
- Vytvorte si lokálnu databázu neo4j s využitím new GraphDatabaseFactory().newEmbeddedDatabase(new File(LOCAL_STORE_DIR)) a vložte do nej graf crawlovaní z vyššie uvedenej databázy.
- Vypíšte všetky seedUrl, ktoré sú v grafe prítomné
- Vypíšte strom jedného sťahovania – teda na akých všetkých URL adresách crawler bol a vypíšte koľko uzlov ste vypísali.
- Vytvorte nový graf crawlovaní s tým, že sa v ňom nebudú vyskytovať dva uzly (uzly s rovnakou URL ale rôznou hodnotou parametra id budú zlúčené, do parametra sa uloží databázou generované id) s rovnakou url adresou a zistite, koľko vypíše predchádzajúca metóda
- Vypíšte všetky najkratšie cesty zo seedUrl k detailovým stránkam
- Vložte graf jedného sťahovania s použitím objektovo grafového mapovania (spring-data-neo4j) s tým, že sa v ňom nebudú vyskytovať dva uzly s rovnakou url adresou
- Vypíšte všetky detailové stránky.
- Vypíšte všetky najkratšie cesty zo seedUrl k detailovým stránkam.
- Vypíšte všetky najkratšie cesty zo seedUrl k detailovým stránkam aj s XPathmi medzi stránkami
Nahrávky (kvôli zlomenej nohe):