05_Projects_Datamodel
PDF-Dokumente
| Dateiname | Aktion |
|---|---|
| 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):
(:Member {memberId:"M010", name:"Anna", email:"anna@example.com"})(:Book {bookId:"B110", title:"Dune", genre:"SciFi", year:1965})(:Book {bookId:"B120", title:"1984", genre:"Fiction", year:1949})(: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, BooksB210,B220,B230Relations:
M011 SEARCHED_FOR B210(mit{at, query})M011 BORROWED B210(mit{at, dueDate})M011 SEARCHED_FOR B220(mit{at, query})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:
(:User {userId:"U010", name:"Clara", email:"clara@example.com"})(:Movie {movieId:"MV110", title:"Interstellar", genre:"SciFi", year:2014})(:Movie {movieId:"MV120", title:"Inception", genre:"SciFi", year:2010})(: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"}]->MV110User-[:WATCHED {at: datetime("2026-02-01T20:00:00"), progressPct:100, rating:5}]->MV110User-[:SEARCHED_FOR {at: datetime("2026-02-02T19:00:00"), query:"mind bending"}]->MV120User-[:WATCHED {at: datetime("2026-02-03T21:00:00"), progressPct:60, rating:4}]->MV130
Aufgabe 2 (4/4)
Diagramm:
Nodes: User
U011, MoviesMV210,MV220,MV230Relations:
U011 SEARCHED_FOR MV210U011 WATCHED MV210U011 SEARCHED_FOR MV220U011 WATCHED MV220
Auftrag: Cypher inkl. Constraints + MERGE.
Projekt 03 – Flugportal (Traveler–Flight)
Aufgabe 1 (4/4)
Nodes:
(:Traveler {travelerId:"T010", name:"Eva", email:"eva@example.com"})(:Flight {flightId:"F110", route:"VIE→LHR", departure: date("2026-03-01"), airline:"SkyJet"})(:Flight {flightId:"F120", route:"VIE→CDG", departure: date("2026-03-05"), airline:"AirX"})(: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"}]->F110Traveler-[:BOOKED {at: datetime("2026-02-01T08:10:00"), bookingId:"BKG-1010", seat:"12A", price:129.0, currency:"EUR"}]->F110Traveler-[:SEARCHED_FOR {at: datetime("2026-02-02T09:00:00"), query:"paris cheap"}]->F120Traveler-[: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, FlightsF210,F220,F230Relations: 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:
(:Candidate {candidateId:"CA010", name:"Gina", email:"gina@example.com"})(:JobPosting {jobId:"J110", title:"Junior DBA", city:"Vienna", level:"Junior"})(:JobPosting {jobId:"J120", title:"Backend Dev", city:"Graz", level:"Mid"})(:JobPosting {jobId:"J130", title:"Data Analyst", city:"Linz", level:"Junior"})
Relations:
Candidate-[:SEARCHED_FOR {at: datetime("2026-02-04T10:00:00"), query:"oracle junior"}]->J110Candidate-[:APPLIED_TO {at: datetime("2026-02-04T10:20:00"), applicationId:"APP-9010", cvVersion:"v2"}]->J110Candidate-[:SEARCHED_FOR {at: datetime("2026-02-05T11:00:00"), query:"java graz"}]->J120Candidate-[:APPLIED_TO {at: datetime("2026-02-06T12:00:00"), applicationId:"APP-9011", cvVersion:"v1"}]->J130
Aufgabe 2 (4/4)
Diagramm:
Nodes: Candidate
CA011, JobPostingJ210,J220,J230Relations: 2× SEARCHED_FOR + 2× APPLIED_TO (mit
{applicationId, cvVersion})
Projekt 05 – Immobilien (Client–Listing)
Aufgabe 1 (4/4)
Nodes:
(:Client {clientId:"CL010", name:"Iris", email:"iris@example.com"})(:Listing {listingId:"LST110", type:"Studio", city:"Vienna", price:250000})(:Listing {listingId:"LST120", type:"Apartment", city:"Vienna", price:450000})(:Listing {listingId:"LST130", type:"House", city:"Graz", price:520000})
Relations:
Client-[:SEARCHED_FOR {at: datetime("2026-02-07T09:00:00"), query:"vienna studio"}]->LST110Client-[:SCHEDULED_VIEWING {at: datetime("2026-02-07T09:20:00"), viewingAt: datetime("2026-02-09T15:00:00")}]->LST110Client-[:SEARCHED_FOR {at: datetime("2026-02-08T10:00:00"), query:"apartment vienna"}]->LST120Client-[: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, ListingsLST210,LST220,LST230Relations: 2× SEARCHED_FOR + 2× SCHEDULED_VIEWING
Projekt 06 – Restaurant (Guest–Restaurant)
Aufgabe 1 (4/4)
Nodes:
(:Guest {guestId:"G010", name:"Kathi", email:"kathi@example.com"})(:Restaurant {restaurantId:"R110", name:"Sushi Zen", city:"Vienna", cuisine:"Japanese"})(:Restaurant {restaurantId:"R120", name:"Trattoria Uno", city:"Vienna", cuisine:"Italian"})(:Restaurant {restaurantId:"R130", name:"Steak House", city:"Graz", cuisine:"Steak"})
Relations:
Guest-[:SEARCHED_FOR {at: datetime("2026-02-09T18:00:00"), query:"best sushi"}]->R110Guest-[:RESERVED {at: datetime("2026-02-09T18:10:00"), reservationAt: datetime("2026-02-11T19:00:00"), partySize:2, reservationId:"RES-5010"}]->R110Guest-[:SEARCHED_FOR {at: datetime("2026-02-10T12:00:00"), query:"italian vienna"}]->R120Guest-[: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:
(:Listener {listenerId:"LI10", name:"Mara", email:"mara@example.com"})(:Album {albumId:"A110", title:"Chill Beats", genre:"LoFi", price:9.99})(:Album {albumId:"A120", title:"Rock Legends", genre:"Rock", price:12.99})(: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"}]->A110Listener-[:PURCHASED {at: datetime("2026-02-11T09:10:00"), orderId:"O-6010", priceAtPurchase:9.99, currency:"EUR"}]->A110Listener-[:SEARCHED_FOR {at: datetime("2026-02-12T10:00:00"), query:"best rock"}]->A120Listener-[: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:
(:Patient {patientId:"PA10", name:"Olivia", email:"olivia@example.com"})(:Doctor {doctorId:"DR110", name:"Dr. Huber", specialty:"Dentistry", city:"Vienna"})(:Doctor {doctorId:"DR120", name:"Dr. Weber", specialty:"Dermatology", city:"Vienna"})(:Doctor {doctorId:"DR130", name:"Dr. Moser", specialty:"Cardiology", city:"Graz"})
Relations:
Patient-[:SEARCHED_FOR {at: datetime("2026-02-13T11:00:00"), query:"dentist vienna"}]->DR110Patient-[:BOOKED {at: datetime("2026-02-13T11:15:00"), appointmentAt: datetime("2026-02-15T14:00:00"), reason:"checkup"}]->DR110Patient-[:SEARCHED_FOR {at: datetime("2026-02-14T09:00:00"), query:"skin doctor"}]->DR120Patient-[: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:
(:Student {studentId:"S010", name:"Quinn", email:"quinn@example.com"})(:Course {courseId:"DB110", title:"Databases", ects:6, level:"Beginner"})(:Course {courseId:"GR210", title:"Graph Databases", ects:5, level:"Advanced"})(:Course {courseId:"DB220", title:"Advanced SQL", ects:5, level:"Intermediate"})
Relations:
Student-[:SEARCHED_FOR {at: datetime("2026-02-15T10:00:00"), query:"neo4j"}]->GR210Student-[:ENROLLED {at: datetime("2026-02-15T10:10:00"), semester:"2026S"}]->GR210Student-[:SEARCHED_FOR {at: datetime("2026-02-16T09:00:00"), query:"sql advanced"}]->DB220Student-[: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:
(:Attendee {attendeeId:"AT10", name:"Sara", email:"sara@example.com"})(:Event {eventId:"E110", title:"Jazz Night", city:"Vienna", date: date("2026-03-10")})(:Event {eventId:"E120", title:"Tech Meetup", city:"Graz", date: date("2026-03-12")})(: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"}]->E110Attendee-[:BOUGHT_TICKET {at: datetime("2026-02-17T12:05:00"), ticketId:"TCK-7010", priceAtPurchase:25.0, currency:"EUR"}]->E110Attendee-[:SEARCHED_FOR {at: datetime("2026-02-18T18:00:00"), query:"art expo"}]->E130Attendee-[: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:
(:Renter {renterId:"RE10", name:"Ute", email:"ute@example.com"})(:Car {carId:"CAR110", model:"VW Golf", class:"Compact", dailyRate:45.0})(:Car {carId:"CAR120", model:"BMW 3", class:"Sedan", dailyRate:79.0})(: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"}]->CAR130Renter-[: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"}]->CAR130Renter-[:SEARCHED_FOR {at: datetime("2026-02-20T10:00:00"), query:"sedan weekend"}]->CAR120Renter-[: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:
(:HotelGuest {guestId:"HG10", name:"Wanda", email:"wanda@example.com"})(:Room {roomId:"RM110", type:"Single", city:"Vienna", nightRate:89.0})(:Room {roomId:"RM120", type:"Double", city:"Vienna", nightRate:129.0})(:Room {roomId:"RM130", type:"Suite", city:"Graz", nightRate:199.0})
Relations:
HotelGuest-[:SEARCHED_FOR {at: datetime("2026-02-22T11:00:00"), query:"double vienna"}]->RM120HotelGuest-[: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"}]->RM120HotelGuest-[:SEARCHED_FOR {at: datetime("2026-02-23T09:00:00"), query:"suite graz"}]->RM130HotelGuest-[: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:
(:InsCustomer {customerId:"IC10", name:"Yara", email:"yara@example.com"})(:Policy {policyId:"PO110", type:"Car", provider:"SafeCo", monthlyPremium:45.0})(:Policy {policyId:"PO120", type:"Home", provider:"HomeSure", monthlyPremium:29.0})(:Policy {policyId:"PO130", type:"Travel", provider:"TripCare", monthlyPremium:9.0})
Relations:
InsCustomer-[:SEARCHED_FOR {at: datetime("2026-02-24T10:00:00"), query:"car insurance"}]->PO110InsCustomer-[:PURCHASED {at: datetime("2026-02-24T10:15:00"), contractId:"CN-2010", startDate: date("2026-03-01"), premium:45.0, currency:"EUR"}]->PO110InsCustomer-[:SEARCHED_FOR {at: datetime("2026-02-25T09:00:00"), query:"travel insurance"}]->PO130InsCustomer-[: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:
(:BankClient {clientId:"BC10", name:"Alina", email:"alina@example.com"})(:BankProduct {productId:"BP110", name:"Girokonto", type:"Account", feeMonthly:0.0})(:BankProduct {productId:"BP120", name:"Kreditkarte", type:"Card", feeMonthly:3.0})(: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"}]->BP120BankClient-[:OPENED {at: datetime("2026-02-26T10:20:00"), accountRef:"CARD-9010", limit:1500}]->BP120BankClient-[:SEARCHED_FOR {at: datetime("2026-02-27T09:00:00"), query:"free account"}]->BP110BankClient-[: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:
(:Subscriber {subscriberId:"SUB10", name:"Carla", email:"carla@example.com"})(:Plan {planId:"PL110", name:"Basic", dataGb:10, monthly:9.9})(:Plan {planId:"PL120", name:"Plus", dataGb:50, monthly:19.9})(:Plan {planId:"PL130", name:"Max", dataGb:200, monthly:39.9})
Relations:
Subscriber-[:SEARCHED_FOR {at: datetime("2026-02-28T10:00:00"), query:"50gb plan"}]->PL120Subscriber-[:SUBSCRIBED {at: datetime("2026-02-28T10:10:00"), contractMonths:24, startDate: date("2026-03-01")}]->PL120Subscriber-[:SEARCHED_FOR {at: datetime("2026-03-01T09:00:00"), query:"cheap plan"}]->PL110Subscriber-[: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:
(:GymMember {memberId:"GM10", name:"Elena", email:"elena@example.com"})(:GymClass {classId:"CL110", title:"Yoga", level:"Beginner", durationMin:60})(:GymClass {classId:"CL120", title:"HIIT", level:"Advanced", durationMin:45})(:GymClass {classId:"CL130", title:"Pilates", level:"Intermediate", durationMin:50})
Relations:
GymMember-[:SEARCHED_FOR {at: datetime("2026-03-02T10:00:00"), query:"yoga beginner"}]->CL110GymMember-[:BOOKED {at: datetime("2026-03-02T10:10:00"), bookingId:"BK-9010", classTime: datetime("2026-03-03T18:00:00")}]->CL110GymMember-[:SEARCHED_FOR {at: datetime("2026-03-03T09:00:00"), query:"hiit"}]->CL120GymMember-[: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:
(:Shopper {shopperId:"SH10", name:"Greta", email:"greta@example.com"})(:Item {itemId:"I110", name:"Milk", category:"Groceries", price:1.49})(:Item {itemId:"I120", name:"Bread", category:"Groceries", price:1.99})(:Item {itemId:"I130", name:"Apples", category:"Groceries", price:2.49})
Relations:
Shopper-[:SEARCHED_FOR {at: datetime("2026-03-04T10:00:00"), query:"fresh apples"}]->I130Shopper-[:ORDERED {at: datetime("2026-03-04T10:10:00"), orderId:"ORD-3010", quantity:2, priceAtPurchase:2.49, currency:"EUR"}]->I130Shopper-[:SEARCHED_FOR {at: datetime("2026-03-05T09:00:00"), query:"milk"}]->I110Shopper-[: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:
(:SupportUser {userId:"SU10", name:"Ivo", email:"ivo@example.com"})(:KnowledgeArticle {articleId:"KA110", title:"VPN Setup", topic:"Network", version:2})(:KnowledgeArticle {articleId:"KA120", title:"Reset Password", topic:"Account", version:3})(:KnowledgeArticle {articleId:"KA130", title:"Printer Fix", topic:"Hardware", version:5})
Relations:
SupportUser-[:SEARCHED_FOR {at: datetime("2026-03-06T10:00:00"), query:"vpn windows"}]->KA110SupportUser-[:USED {at: datetime("2026-03-06T10:20:00"), helpful:true, resolvedAt: datetime("2026-03-06T10:40:00")}]->KA110SupportUser-[:SEARCHED_FOR {at: datetime("2026-03-07T09:00:00"), query:"reset login"}]->KA120SupportUser-[: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:
(:Visitor {visitorId:"V010", name:"Karl", email:"karl@example.com"})(:Exhibit {exhibitId:"EX110", name:"Space", type:"Science", floor:3})(:Exhibit {exhibitId:"EX120", name:"Dinosaurs", type:"History", floor:1})(:Exhibit {exhibitId:"EX130", name:"Impressionists", type:"Art", floor:2})
Relations:
Visitor-[:SEARCHED_FOR {at: datetime("2026-03-08T10:00:00"), query:"space exhibit"}]->EX110Visitor-[:VISITED {at: datetime("2026-03-08T10:30:00"), durationMin:35}]->EX110Visitor-[:SEARCHED_FOR {at: datetime("2026-03-09T11:00:00"), query:"art floor 2"}]->EX130Visitor-[: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:
(:Learner {learnerId:"LE10", name:"Milan", email:"milan@example.com"})(:Tutorial {tutorialId:"TU110", title:"Neo4j Intro", topic:"Graphs", level:"Beginner"})(:Tutorial {tutorialId:"TU120", title:"SQL Basics", topic:"Databases", level:"Beginner"})(:Tutorial {tutorialId:"TU130", title:"Indexing", topic:"Databases", level:"Intermediate"})
Relations:
Learner-[:SEARCHED_FOR {at: datetime("2026-03-10T10:00:00"), query:"graph database tutorial"}]->TU110Learner-[:COMPLETED {at: datetime("2026-03-10T10:10:00"), completedAt: datetime("2026-03-10T12:00:00"), score:92}]->TU110Learner-[:SEARCHED_FOR {at: datetime("2026-03-11T09:00:00"), query:"learn sql"}]->TU120Learner-[: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.