Na tomto cvičení budeme používať databázu záznamu crawlovania z projektu Kapsa. Môžete si ju stiahnuť tuto: crawl.sql.
Nastavíme práva:
GRANT ALL privileges on `crawl`.* to `ais-like-user`@`localhost`; GRANT ALL privileges on `crawl`.* to `ais-like-user`@`%`; FLUSH PRIVILEGES;
Pre lokálnu inštaláciu môžete použiť docker:
docker run --name my_neo4j -p 7474:7474 -p 7687:7687 neo4j
Cez neo4j browser sa napojíte na adrese http://localhost:7474/. Cez javu sa budeme pripájať:
- host: bolt://localhost:7687
- user: neo4j
- heslo: neo4j
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