Ich mache einen Proof of Concept. Ich habe eine "ArticleRead" V-Klasse mit einer nicht eindeutigen Eigenschaft "JournalTitle" (viele Lesevorgänge aus jedem Journal), eine "Product" V-Klasse mit einer nicht eindeutigen Eigenschaft von "Subject" und eine Kante zwischen ihnen mit einer Eigenschaft namens "Art".Wählen Sie die Top 50 aus der V-Klasse basierend auf einem Wert aus einer anderen Klasse
ArticleRead hat für jeden Artikel, den ein Benutzer unseres Systems liest, einen Scheitelpunkt eingefügt.
Kann jemand eine ungefähre SQL geben, um die Top 50 Zeitschriftentitel aus einem bestimmten Thema zu finden? In unserem aktuellen RDBMS müssen wir die Produkte mit diesem Thema finden, dann alle Artikel nach journalTitle dieser Produkte hochzählen und dann die Top 50 holen. Es dauert mehrere Lebenszeiten.
Auch irgendwelche Vorschläge zu den Modifikationen an der Kante oder was auch immer sind willkommen (dies ist ein Beweis des Konzepts, mit dem wir spielen nach sehr wenig Selbsttraining).
Danke. die "echten" Daten hätten ein Kind des Produkts für das Subjekt, mehr Klassen mit Kanten zu den Artikeln, die gelesen werden, und Terabytes an Textrelevanten. Die schiere Größe der Artikel liest uns jedes Jahr ältere Daten in Oracle weg. Ich hoffe, dass Dokument/Graph-Datenbanken eine bessere Lösung darstellen. Ich habe ein paar Probleme damit, aber ich denke, ich habe meine Kante zurück (out würde die Produkt-ID in meinem Rand sein) und ich glaube, ich verdorben es versuchen, das "in" und "out" umzubenennen. –
Leichte Optimierung - GROUP BY JournalTitle ORDER BY COUNT LIMIT 50 –