"""Cypher for Track operations.""" GET_TRACKS_BY_OSRID = """ MATCH (soundRecording:OrchardSoundRecording {id: $osr_id}) OPTIONAL MATCH (soundRecording)-[:CONTAINS_FINGERPRINT]->(:ACRID) <-[:FINGERPRINTED_AS]-(:OrchardAsset)<-[:HAS_ASSET]-(t:Track) WITH COLLECT(DISTINCT(t)) as tracks, soundRecording OPTIONAL MATCH (primaryTrack:Track {id: soundRecording.primaryTrackId}) WITH [primaryTrack] + tracks AS allTracks WITH [track IN allTracks WHERE track IS NOT NULL] AS filteredTracks WITH apoc.coll.toSet(filteredTracks) AS uniqueTracks WITH uniqueTracks, size(uniqueTracks) AS totalCount RETURN uniqueTracks[$offset..($offset + $limit)] as tracks, totalCount """