05_Projects_Datamodel

PDF-Dokumente

DateinameAktion
PDFUebung_Taxi.pdfÖffnen

Lernmaterialien

Jedes Projekt hat:

  • Aufgabe 1: Text → Diagramm (genau 4 Nodes + 4 Relations)

  • Aufgabe 2: Diagramm → Cypher (genau 4 Nodes + 4 Relations)

  • Zusatzhinweis: Cypher soll Constraints + MERGE Nodes + MERGE Relations enthalten.


Projekt 01 – Bibliothek (Member–Book)

Aufgabe 1: Text → Diagramm (4/4)

Nodes (4):

  1. (:Member {memberId:"M010", name:"Anna", email:"anna@example.com"})

  2. (:Book {bookId:"B110", title:"Dune", genre:"SciFi", year:1965})

  3. (:Book {bookId:"B120", title:"1984", genre:"Fiction", year:1949})

  4. (:Book {bookId:"B130", title:"Sapiens", genre:"Nonfiction", year:2011})

Relations (4):

  • (Member)-[:SEARCHED_FOR {at: datetime("2026-02-01T10:00:00"), query:"best scifi"}]->(B110)

  • (Member)-[:BORROWED {at: datetime("2026-02-01T10:20:00"), dueDate: date("2026-02-15")}]->(B110)

  • (Member)-[:SEARCHED_FOR {at: datetime("2026-02-02T09:00:00"), query:"classic dystopia"}]->(B120)

  • (Member)-[:BORROWED {at: datetime("2026-02-03T16:00:00"), dueDate: date("2026-02-17")}]->(B130)

Aufgabe 2: Diagramm → Cypher (4/4)

Diagramm (beschrieben):

  • Nodes: Member M011, Books B210, B220, B230

  • Relations:

    1. M011 SEARCHED_FOR B210 (mit {at, query})

    2. M011 BORROWED B210 (mit {at, dueDate})

    3. M011 SEARCHED_FOR B220 (mit {at, query})

    4. M011 BORROWED B220 (mit {at, dueDate})

Auftrag: Schreibe Cypher mit Constraints + MERGE für Nodes + MERGE für Relations.


Projekt 02 – Streaming (User–Movie)

Aufgabe 1 (4/4)

Nodes:

  1. (:User {userId:"U010", name:"Clara", email:"clara@example.com"})

  2. (:Movie {movieId:"MV110", title:"Interstellar", genre:"SciFi", year:2014})

  3. (:Movie {movieId:"MV120", title:"Inception", genre:"SciFi", year:2010})

  4. (:Movie {movieId:"MV130", title:"La La Land", genre:"Drama", year:2016})

Relations:

  • User-[:SEARCHED_FOR {at: datetime("2026-02-01T18:00:00"), query:"space movie"}]->MV110

  • User-[:WATCHED {at: datetime("2026-02-01T20:00:00"), progressPct:100, rating:5}]->MV110

  • User-[:SEARCHED_FOR {at: datetime("2026-02-02T19:00:00"), query:"mind bending"}]->MV120

  • User-[:WATCHED {at: datetime("2026-02-03T21:00:00"), progressPct:60, rating:4}]->MV130

Aufgabe 2 (4/4)

Diagramm:

  • Nodes: User U011, Movies MV210, MV220, MV230

  • Relations:

    1. U011 SEARCHED_FOR MV210

    2. U011 WATCHED MV210

    3. U011 SEARCHED_FOR MV220

    4. U011 WATCHED MV220

Auftrag: Cypher inkl. Constraints + MERGE.


Projekt 03 – Flugportal (Traveler–Flight)

Aufgabe 1 (4/4)

Nodes:

  1. (:Traveler {travelerId:"T010", name:"Eva", email:"eva@example.com"})

  2. (:Flight {flightId:"F110", route:"VIE→LHR", departure: date("2026-03-01"), airline:"SkyJet"})

  3. (:Flight {flightId:"F120", route:"VIE→CDG", departure: date("2026-03-05"), airline:"AirX"})

  4. (:Flight {flightId:"F130", route:"VIE→FRA", departure: date("2026-03-10"), airline:"EuroFly"})

Relations:

  • Traveler-[:SEARCHED_FOR {at: datetime("2026-02-01T08:00:00"), query:"london weekend"}]->F110

  • Traveler-[:BOOKED {at: datetime("2026-02-01T08:10:00"), bookingId:"BKG-1010", seat:"12A", price:129.0, currency:"EUR"}]->F110

  • Traveler-[:SEARCHED_FOR {at: datetime("2026-02-02T09:00:00"), query:"paris cheap"}]->F120

  • Traveler-[:BOOKED {at: datetime("2026-02-03T10:00:00"), bookingId:"BKG-1011", seat:"18C", price:99.0, currency:"EUR"}]->F130

Aufgabe 2 (4/4)

Diagramm:

  • Nodes: Traveler T011, Flights F210, F220, F230

  • Relations: 2× SEARCHED_FOR + 2× BOOKED (mit {bookingId, seat, price, currency})

Auftrag: Cypher inkl. Constraints + MERGE.


Projekt 04 – Jobportal (Candidate–JobPosting)

Aufgabe 1 (4/4)

Nodes:

  1. (:Candidate {candidateId:"CA010", name:"Gina", email:"gina@example.com"})

  2. (:JobPosting {jobId:"J110", title:"Junior DBA", city:"Vienna", level:"Junior"})

  3. (:JobPosting {jobId:"J120", title:"Backend Dev", city:"Graz", level:"Mid"})

  4. (:JobPosting {jobId:"J130", title:"Data Analyst", city:"Linz", level:"Junior"})

Relations:

  • Candidate-[:SEARCHED_FOR {at: datetime("2026-02-04T10:00:00"), query:"oracle junior"}]->J110

  • Candidate-[:APPLIED_TO {at: datetime("2026-02-04T10:20:00"), applicationId:"APP-9010", cvVersion:"v2"}]->J110

  • Candidate-[:SEARCHED_FOR {at: datetime("2026-02-05T11:00:00"), query:"java graz"}]->J120

  • Candidate-[:APPLIED_TO {at: datetime("2026-02-06T12:00:00"), applicationId:"APP-9011", cvVersion:"v1"}]->J130

Aufgabe 2 (4/4)

Diagramm:

  • Nodes: Candidate CA011, JobPosting J210, J220, J230

  • Relations: 2× SEARCHED_FOR + 2× APPLIED_TO (mit {applicationId, cvVersion})


Projekt 05 – Immobilien (Client–Listing)

Aufgabe 1 (4/4)

Nodes:

  1. (:Client {clientId:"CL010", name:"Iris", email:"iris@example.com"})

  2. (:Listing {listingId:"LST110", type:"Studio", city:"Vienna", price:250000})

  3. (:Listing {listingId:"LST120", type:"Apartment", city:"Vienna", price:450000})

  4. (:Listing {listingId:"LST130", type:"House", city:"Graz", price:520000})

Relations:

  • Client-[:SEARCHED_FOR {at: datetime("2026-02-07T09:00:00"), query:"vienna studio"}]->LST110

  • Client-[:SCHEDULED_VIEWING {at: datetime("2026-02-07T09:20:00"), viewingAt: datetime("2026-02-09T15:00:00")}]->LST110

  • Client-[:SEARCHED_FOR {at: datetime("2026-02-08T10:00:00"), query:"apartment vienna"}]->LST120

  • Client-[:SCHEDULED_VIEWING {at: datetime("2026-02-08T10:30:00"), viewingAt: datetime("2026-02-10T16:00:00")}]->LST130

Aufgabe 2 (4/4)

Diagramm:

  • Nodes: Client CL011, Listings LST210, LST220, LST230

  • Relations: 2× SEARCHED_FOR + 2× SCHEDULED_VIEWING


Projekt 06 – Restaurant (Guest–Restaurant)

Aufgabe 1 (4/4)

Nodes:

  1. (:Guest {guestId:"G010", name:"Kathi", email:"kathi@example.com"})

  2. (:Restaurant {restaurantId:"R110", name:"Sushi Zen", city:"Vienna", cuisine:"Japanese"})

  3. (:Restaurant {restaurantId:"R120", name:"Trattoria Uno", city:"Vienna", cuisine:"Italian"})

  4. (:Restaurant {restaurantId:"R130", name:"Steak House", city:"Graz", cuisine:"Steak"})

Relations:

  • Guest-[:SEARCHED_FOR {at: datetime("2026-02-09T18:00:00"), query:"best sushi"}]->R110

  • Guest-[:RESERVED {at: datetime("2026-02-09T18:10:00"), reservationAt: datetime("2026-02-11T19:00:00"), partySize:2, reservationId:"RES-5010"}]->R110

  • Guest-[:SEARCHED_FOR {at: datetime("2026-02-10T12:00:00"), query:"italian vienna"}]->R120

  • Guest-[:RESERVED {at: datetime("2026-02-10T12:15:00"), reservationAt: datetime("2026-02-12T20:00:00"), partySize:4, reservationId:"RES-5011"}]->R130

Aufgabe 2 (4/4)

Diagramm: Guest G011, Restaurants R210, R220, R230 + 2× SEARCHED_FOR + 2× RESERVED.


Projekt 07 – Musikshop (Listener–Album)

Aufgabe 1 (4/4)

Nodes:

  1. (:Listener {listenerId:"LI10", name:"Mara", email:"mara@example.com"})

  2. (:Album {albumId:"A110", title:"Chill Beats", genre:"LoFi", price:9.99})

  3. (:Album {albumId:"A120", title:"Rock Legends", genre:"Rock", price:12.99})

  4. (:Album {albumId:"A130", title:"Classical Moods", genre:"Classical", price:7.99})

Relations:

  • Listener-[:SEARCHED_FOR {at: datetime("2026-02-11T09:00:00"), query:"lofi study"}]->A110

  • Listener-[:PURCHASED {at: datetime("2026-02-11T09:10:00"), orderId:"O-6010", priceAtPurchase:9.99, currency:"EUR"}]->A110

  • Listener-[:SEARCHED_FOR {at: datetime("2026-02-12T10:00:00"), query:"best rock"}]->A120

  • Listener-[:PURCHASED {at: datetime("2026-02-12T10:10:00"), orderId:"O-6011", priceAtPurchase:7.99, currency:"EUR"}]->A130

Aufgabe 2 (4/4)

Diagramm: Listener LI11, Albums A210, A220, A230 + 2× SEARCHED_FOR + 2× PURCHASED.


Projekt 08 – Arzttermin (Patient–Doctor)

Aufgabe 1 (4/4)

Nodes:

  1. (:Patient {patientId:"PA10", name:"Olivia", email:"olivia@example.com"})

  2. (:Doctor {doctorId:"DR110", name:"Dr. Huber", specialty:"Dentistry", city:"Vienna"})

  3. (:Doctor {doctorId:"DR120", name:"Dr. Weber", specialty:"Dermatology", city:"Vienna"})

  4. (:Doctor {doctorId:"DR130", name:"Dr. Moser", specialty:"Cardiology", city:"Graz"})

Relations:

  • Patient-[:SEARCHED_FOR {at: datetime("2026-02-13T11:00:00"), query:"dentist vienna"}]->DR110

  • Patient-[:BOOKED {at: datetime("2026-02-13T11:15:00"), appointmentAt: datetime("2026-02-15T14:00:00"), reason:"checkup"}]->DR110

  • Patient-[:SEARCHED_FOR {at: datetime("2026-02-14T09:00:00"), query:"skin doctor"}]->DR120

  • Patient-[:BOOKED {at: datetime("2026-02-14T09:20:00"), appointmentAt: datetime("2026-02-18T10:00:00"), reason:"consultation"}]->DR130

Aufgabe 2 (4/4)

Diagramm: Patient PA11, Doctors DR210, DR220, DR230 + 2× SEARCHED_FOR + 2× BOOKED.


Projekt 09 – Hochschule (Student–Course)

Aufgabe 1 (4/4)

Nodes:

  1. (:Student {studentId:"S010", name:"Quinn", email:"quinn@example.com"})

  2. (:Course {courseId:"DB110", title:"Databases", ects:6, level:"Beginner"})

  3. (:Course {courseId:"GR210", title:"Graph Databases", ects:5, level:"Advanced"})

  4. (:Course {courseId:"DB220", title:"Advanced SQL", ects:5, level:"Intermediate"})

Relations:

  • Student-[:SEARCHED_FOR {at: datetime("2026-02-15T10:00:00"), query:"neo4j"}]->GR210

  • Student-[:ENROLLED {at: datetime("2026-02-15T10:10:00"), semester:"2026S"}]->GR210

  • Student-[:SEARCHED_FOR {at: datetime("2026-02-16T09:00:00"), query:"sql advanced"}]->DB220

  • Student-[:ENROLLED {at: datetime("2026-02-16T09:15:00"), semester:"2026S"}]->DB110

Aufgabe 2 (4/4)

Diagramm: Student S011, Courses C210, C220, C230 + 2× SEARCHED_FOR + 2× ENROLLED.


Projekt 10 – Events (Attendee–Event)

Aufgabe 1 (4/4)

Nodes:

  1. (:Attendee {attendeeId:"AT10", name:"Sara", email:"sara@example.com"})

  2. (:Event {eventId:"E110", title:"Jazz Night", city:"Vienna", date: date("2026-03-10")})

  3. (:Event {eventId:"E120", title:"Tech Meetup", city:"Graz", date: date("2026-03-12")})

  4. (:Event {eventId:"E130", title:"Art Expo", city:"Vienna", date: date("2026-03-15")})

Relations:

  • Attendee-[:SEARCHED_FOR {at: datetime("2026-02-17T12:00:00"), query:"jazz vienna"}]->E110

  • Attendee-[:BOUGHT_TICKET {at: datetime("2026-02-17T12:05:00"), ticketId:"TCK-7010", priceAtPurchase:25.0, currency:"EUR"}]->E110

  • Attendee-[:SEARCHED_FOR {at: datetime("2026-02-18T18:00:00"), query:"art expo"}]->E130

  • Attendee-[:BOUGHT_TICKET {at: datetime("2026-02-18T18:10:00"), ticketId:"TCK-7011", priceAtPurchase:15.0, currency:"EUR"}]->E120

Aufgabe 2 (4/4)

Diagramm: Attendee AT11, Events E210, E220, E230 + 2× SEARCHED_FOR + 2× BOUGHT_TICKET.


Projekt 11 – Car Rental (Renter–Car)

Aufgabe 1 (4/4)

Nodes:

  1. (:Renter {renterId:"RE10", name:"Ute", email:"ute@example.com"})

  2. (:Car {carId:"CAR110", model:"VW Golf", class:"Compact", dailyRate:45.0})

  3. (:Car {carId:"CAR120", model:"BMW 3", class:"Sedan", dailyRate:79.0})

  4. (:Car {carId:"CAR130", model:"Skoda Fabia", class:"Compact", dailyRate:39.0})

Relations:

  • Renter-[:SEARCHED_FOR {at: datetime("2026-02-19T09:00:00"), query:"cheap compact"}]->CAR130

  • Renter-[:RENTED {at: datetime("2026-02-19T09:15:00"), bookingId:"RENT-8010", from: date("2026-03-01"), to: date("2026-03-03"), price:78.0, currency:"EUR"}]->CAR130

  • Renter-[:SEARCHED_FOR {at: datetime("2026-02-20T10:00:00"), query:"sedan weekend"}]->CAR120

  • Renter-[:RENTED {at: datetime("2026-02-21T11:00:00"), bookingId:"RENT-8011", from: date("2026-03-10"), to: date("2026-03-12"), price:158.0, currency:"EUR"}]->CAR110

Aufgabe 2 (4/4)

Diagramm: Renter RE11, Cars CAR210, CAR220, CAR230 + 2× SEARCHED_FOR + 2× RENTED.


Projekt 12 – Hotel (HotelGuest–Room)

Aufgabe 1 (4/4)

Nodes:

  1. (:HotelGuest {guestId:"HG10", name:"Wanda", email:"wanda@example.com"})

  2. (:Room {roomId:"RM110", type:"Single", city:"Vienna", nightRate:89.0})

  3. (:Room {roomId:"RM120", type:"Double", city:"Vienna", nightRate:129.0})

  4. (:Room {roomId:"RM130", type:"Suite", city:"Graz", nightRate:199.0})

Relations:

  • HotelGuest-[:SEARCHED_FOR {at: datetime("2026-02-22T11:00:00"), query:"double vienna"}]->RM120

  • HotelGuest-[:BOOKED {at: datetime("2026-02-22T11:10:00"), reservationId:"H-9010", checkIn: date("2026-03-10"), checkOut: date("2026-03-12"), price:258.0, currency:"EUR"}]->RM120

  • HotelGuest-[:SEARCHED_FOR {at: datetime("2026-02-23T09:00:00"), query:"suite graz"}]->RM130

  • HotelGuest-[:BOOKED {at: datetime("2026-02-23T09:20:00"), reservationId:"H-9011", checkIn: date("2026-03-20"), checkOut: date("2026-03-21"), price:199.0, currency:"EUR"}]->RM110

Aufgabe 2 (4/4)

Diagramm: HotelGuest HG11, Rooms RM210, RM220, RM230 + 2× SEARCHED_FOR + 2× BOOKED.


Projekt 13 – Versicherung (InsCustomer–Policy)

Aufgabe 1 (4/4)

Nodes:

  1. (:InsCustomer {customerId:"IC10", name:"Yara", email:"yara@example.com"})

  2. (:Policy {policyId:"PO110", type:"Car", provider:"SafeCo", monthlyPremium:45.0})

  3. (:Policy {policyId:"PO120", type:"Home", provider:"HomeSure", monthlyPremium:29.0})

  4. (:Policy {policyId:"PO130", type:"Travel", provider:"TripCare", monthlyPremium:9.0})

Relations:

  • InsCustomer-[:SEARCHED_FOR {at: datetime("2026-02-24T10:00:00"), query:"car insurance"}]->PO110

  • InsCustomer-[:PURCHASED {at: datetime("2026-02-24T10:15:00"), contractId:"CN-2010", startDate: date("2026-03-01"), premium:45.0, currency:"EUR"}]->PO110

  • InsCustomer-[:SEARCHED_FOR {at: datetime("2026-02-25T09:00:00"), query:"travel insurance"}]->PO130

  • InsCustomer-[:PURCHASED {at: datetime("2026-02-25T09:10:00"), contractId:"CN-2011", startDate: date("2026-03-05"), premium:9.0, currency:"EUR"}]->PO120

Aufgabe 2 (4/4)

Diagramm: InsCustomer IC11, Policies PO210, PO220, PO230 + 2× SEARCHED_FOR + 2× PURCHASED.


Projekt 14 – Banking (BankClient–BankProduct)

Aufgabe 1 (4/4)

Nodes:

  1. (:BankClient {clientId:"BC10", name:"Alina", email:"alina@example.com"})

  2. (:BankProduct {productId:"BP110", name:"Girokonto", type:"Account", feeMonthly:0.0})

  3. (:BankProduct {productId:"BP120", name:"Kreditkarte", type:"Card", feeMonthly:3.0})

  4. (:BankProduct {productId:"BP130", name:"Sparplan", type:"Savings", feeMonthly:1.0})

Relations:

  • BankClient-[:SEARCHED_FOR {at: datetime("2026-02-26T10:00:00"), query:"best credit card"}]->BP120

  • BankClient-[:OPENED {at: datetime("2026-02-26T10:20:00"), accountRef:"CARD-9010", limit:1500}]->BP120

  • BankClient-[:SEARCHED_FOR {at: datetime("2026-02-27T09:00:00"), query:"free account"}]->BP110

  • BankClient-[:OPENED {at: datetime("2026-02-27T09:15:00"), accountRef:"ACC-5010", limit:0}]->BP110

Aufgabe 2 (4/4)

Diagramm: BankClient BC11, Products BP210, BP220, BP230 + 2× SEARCHED_FOR + 2× OPENED.


Projekt 15 – Mobilfunk (Subscriber–Plan)

Aufgabe 1 (4/4)

Nodes:

  1. (:Subscriber {subscriberId:"SUB10", name:"Carla", email:"carla@example.com"})

  2. (:Plan {planId:"PL110", name:"Basic", dataGb:10, monthly:9.9})

  3. (:Plan {planId:"PL120", name:"Plus", dataGb:50, monthly:19.9})

  4. (:Plan {planId:"PL130", name:"Max", dataGb:200, monthly:39.9})

Relations:

  • Subscriber-[:SEARCHED_FOR {at: datetime("2026-02-28T10:00:00"), query:"50gb plan"}]->PL120

  • Subscriber-[:SUBSCRIBED {at: datetime("2026-02-28T10:10:00"), contractMonths:24, startDate: date("2026-03-01")}]->PL120

  • Subscriber-[:SEARCHED_FOR {at: datetime("2026-03-01T09:00:00"), query:"cheap plan"}]->PL110

  • Subscriber-[:SUBSCRIBED {at: datetime("2026-03-01T09:20:00"), contractMonths:12, startDate: date("2026-03-05")}]->PL110

Aufgabe 2 (4/4)

Diagramm: Subscriber SUB11, Plans PL210, PL220, PL230 + 2× SEARCHED_FOR + 2× SUBSCRIBED.


Projekt 16 – Fitnessstudio (GymMember–GymClass)

Aufgabe 1 (4/4)

Nodes:

  1. (:GymMember {memberId:"GM10", name:"Elena", email:"elena@example.com"})

  2. (:GymClass {classId:"CL110", title:"Yoga", level:"Beginner", durationMin:60})

  3. (:GymClass {classId:"CL120", title:"HIIT", level:"Advanced", durationMin:45})

  4. (:GymClass {classId:"CL130", title:"Pilates", level:"Intermediate", durationMin:50})

Relations:

  • GymMember-[:SEARCHED_FOR {at: datetime("2026-03-02T10:00:00"), query:"yoga beginner"}]->CL110

  • GymMember-[:BOOKED {at: datetime("2026-03-02T10:10:00"), bookingId:"BK-9010", classTime: datetime("2026-03-03T18:00:00")}]->CL110

  • GymMember-[:SEARCHED_FOR {at: datetime("2026-03-03T09:00:00"), query:"hiit"}]->CL120

  • GymMember-[:BOOKED {at: datetime("2026-03-03T09:10:00"), bookingId:"BK-9011", classTime: datetime("2026-03-04T19:00:00")}]->CL130

Aufgabe 2 (4/4)

Diagramm: GymMember GM11, Classes CL210, CL220, CL230 + 2× SEARCHED_FOR + 2× BOOKED.


Projekt 17 – Online Grocery (Shopper–Item)

Aufgabe 1 (4/4)

Nodes:

  1. (:Shopper {shopperId:"SH10", name:"Greta", email:"greta@example.com"})

  2. (:Item {itemId:"I110", name:"Milk", category:"Groceries", price:1.49})

  3. (:Item {itemId:"I120", name:"Bread", category:"Groceries", price:1.99})

  4. (:Item {itemId:"I130", name:"Apples", category:"Groceries", price:2.49})

Relations:

  • Shopper-[:SEARCHED_FOR {at: datetime("2026-03-04T10:00:00"), query:"fresh apples"}]->I130

  • Shopper-[:ORDERED {at: datetime("2026-03-04T10:10:00"), orderId:"ORD-3010", quantity:2, priceAtPurchase:2.49, currency:"EUR"}]->I130

  • Shopper-[:SEARCHED_FOR {at: datetime("2026-03-05T09:00:00"), query:"milk"}]->I110

  • Shopper-[:ORDERED {at: datetime("2026-03-05T09:05:00"), orderId:"ORD-3011", quantity:1, priceAtPurchase:1.99, currency:"EUR"}]->I120

Aufgabe 2 (4/4)

Diagramm: Shopper SH11, Items I210, I220, I230 + 2× SEARCHED_FOR + 2× ORDERED.


Projekt 18 – IT Support (SupportUser–KnowledgeArticle)

Aufgabe 1 (4/4)

Nodes:

  1. (:SupportUser {userId:"SU10", name:"Ivo", email:"ivo@example.com"})

  2. (:KnowledgeArticle {articleId:"KA110", title:"VPN Setup", topic:"Network", version:2})

  3. (:KnowledgeArticle {articleId:"KA120", title:"Reset Password", topic:"Account", version:3})

  4. (:KnowledgeArticle {articleId:"KA130", title:"Printer Fix", topic:"Hardware", version:5})

Relations:

  • SupportUser-[:SEARCHED_FOR {at: datetime("2026-03-06T10:00:00"), query:"vpn windows"}]->KA110

  • SupportUser-[:USED {at: datetime("2026-03-06T10:20:00"), helpful:true, resolvedAt: datetime("2026-03-06T10:40:00")}]->KA110

  • SupportUser-[:SEARCHED_FOR {at: datetime("2026-03-07T09:00:00"), query:"reset login"}]->KA120

  • SupportUser-[:USED {at: datetime("2026-03-07T09:15:00"), helpful:false, resolvedAt: datetime("2026-03-07T09:30:00")}]->KA130

Aufgabe 2 (4/4)

Diagramm: SupportUser SU11, Articles KA210, KA220, KA230 + 2× SEARCHED_FOR + 2× USED.


Projekt 19 – Museum (Visitor–Exhibit)

Aufgabe 1 (4/4)

Nodes:

  1. (:Visitor {visitorId:"V010", name:"Karl", email:"karl@example.com"})

  2. (:Exhibit {exhibitId:"EX110", name:"Space", type:"Science", floor:3})

  3. (:Exhibit {exhibitId:"EX120", name:"Dinosaurs", type:"History", floor:1})

  4. (:Exhibit {exhibitId:"EX130", name:"Impressionists", type:"Art", floor:2})

Relations:

  • Visitor-[:SEARCHED_FOR {at: datetime("2026-03-08T10:00:00"), query:"space exhibit"}]->EX110

  • Visitor-[:VISITED {at: datetime("2026-03-08T10:30:00"), durationMin:35}]->EX110

  • Visitor-[:SEARCHED_FOR {at: datetime("2026-03-09T11:00:00"), query:"art floor 2"}]->EX130

  • Visitor-[:VISITED {at: datetime("2026-03-09T11:20:00"), durationMin:20}]->EX120

Aufgabe 2 (4/4)

Diagramm: Visitor V011, Exhibits EX210, EX220, EX230 + 2× SEARCHED_FOR + 2× VISITED.


Projekt 20 – E-Learning (Learner–Tutorial)

Aufgabe 1 (4/4)

Nodes:

  1. (:Learner {learnerId:"LE10", name:"Milan", email:"milan@example.com"})

  2. (:Tutorial {tutorialId:"TU110", title:"Neo4j Intro", topic:"Graphs", level:"Beginner"})

  3. (:Tutorial {tutorialId:"TU120", title:"SQL Basics", topic:"Databases", level:"Beginner"})

  4. (:Tutorial {tutorialId:"TU130", title:"Indexing", topic:"Databases", level:"Intermediate"})

Relations:

  • Learner-[:SEARCHED_FOR {at: datetime("2026-03-10T10:00:00"), query:"graph database tutorial"}]->TU110

  • Learner-[:COMPLETED {at: datetime("2026-03-10T10:10:00"), completedAt: datetime("2026-03-10T12:00:00"), score:92}]->TU110

  • Learner-[:SEARCHED_FOR {at: datetime("2026-03-11T09:00:00"), query:"learn sql"}]->TU120

  • Learner-[:COMPLETED {at: datetime("2026-03-11T09:15:00"), completedAt: datetime("2026-03-11T10:30:00"), score:78}]->TU130

Aufgabe 2 (4/4)

Diagramm: Learner LE11, Tutorials TU210, TU220, TU230 + 2× SEARCHED_FOR + 2× COMPLETED.