У вас есть несколько вариантов.Если вы хотите сделать все самостоятельно, то решение duffymo идеально, но если вы хотите использовать существующие библиотеки, я бы предложил что-то похожее на Jung для графиков.
Я не уверен, что вашзнакомы с графиками , но их можно использовать для хранения структуры ссылок, и PageRank часто включается в большинство библиотек.В зависимости от того, как вы хотите это сделать, хорошим решением для памяти будет Jung , но если вам нужно постоянное хранилище базы данных, тогда загрузка ваших данных в Neo4J будет работать (вам придется установить gremlin , чтобы сделать PageRank).
Выше приведены решения Java, но если вы хотите сделать это самостоятельно (и, как я, не люблю сухие исследовательские работы), то я очень рекомендую книгупрограммирование коллективного интеллекта.Они проходят (глава 4 - я думаю), создавая поисковую систему с нуля, которая включает PageRank и нейронные сети для отслеживания кликов.Единственная проблема, основанная на ваших требованиях выше, заключается в том, что книга написана на python, но вы можете легко применить логику к java.Если вы уже немного знаете Python, вы можете даже бесплатно загрузить исходный код книг и проверить программное обеспечение (но нет никаких объяснений по математике, стоящей за кодом в исходном коде).
Надеюсь, чтопомогает