Я изучаю информатику и сейчас работаю над проектом. Мне пришлось выбрать одну структуру данных NOSQL и изучить ее самостоятельно. Я выбрал базы данных Graph и сделал небольшой проект, чтобы показать свои навыки. Мне пришлось построить базу данных в Neo4J на основе реляционной базы данных.
Проект ориентирован на велосипеды, которые вы можете использовать и сдавать на разных станциях в окрестностях города Антверпен. Что-то, что есть в большинстве крупных городов. В моей базе данных есть 3 типа узлов. Прежде всего, есть аттракционы. Поездка состоит из идентификатора поездки, начального времени, конечного времени, начального идентификатора и конечного идентификатора. Тогда есть станции, где можно поставить велосипеды. У каждой поездки есть стартовая и конечная блокировка. Таким образом, есть также 2 типа отношений между этими узлами. Тот, куда уходит поездка, и тот, куда он прибывает. Станция состоит из идентификатора замка, улицы и номера (номер дома). Каждая станция находится в определенном районе Антверпена. районы состоят только из имени. В базе данных всего 7 округов.
Есть определенные запросы, которые мне пришлось написать, чтобы показать свои навыки в Neo4J, но есть один, который я просто не могу найти. Вопрос задается: «Какие районы имеют наибольшее количество поездок между ними?».
В настоящее время я пришел к этому запросу, в котором перечислены начальный и конечный районы всех поездок:
MATCH (d1:District)<--(s1:Station)<--(r:Ride)-->(s2:Station)-->(d2:District)
WHERE d1.Name <> d2.Name
RETURN d1, d2
Я искал в Интернете, и я пытался с COUNT (), ORDER BY () и COLLECT (), но, похоже, не может найти решение или приблизиться к нему. У кого-нибудь есть идеи, как я могу рассчитать наиболее распространенную связь между районами?