dotNetRDF просто не предназначен для обработки такого количества данных в хранилище в памяти. Все данные анализируются в потоковом режиме, но вы должны создать структуры в памяти для хранения данных, которые занимают всю память и приводят к исключению OOM.
По умолчанию триплеты полностью индексируются, поэтому они могут эффективно выполнять запросы с помощью SPARQL и с текущей версией библиотеки, для которой потребуется приблизительно 1,7 КБ на триплет, так что в большинстве случаев библиотека позволит вам работать с 2-3 миллионами триплетов в память в зависимости от вашей доступной оперативной памяти. С другой стороны, алгоритм SPARQL в текущем выпуске ужасен в таком масштабе, поэтому даже если вы сможете загрузить свои данные в память, вы не сможете эффективно их запрашивать.
Несмотря на то, что в следующем выпуске библиотеки сокращено использование памяти и значительно улучшена производительность SPARQL, она так и не была разработана для такого объема данных.
Однако dotNetRDF поддерживает большое разнообразие встроенных тройных хранилищ из коробки (см. Интерфейс IQueryableGenericIOManager и его реализации), поэтому вы должны загрузить дамп DBPedia в соответствующее хранилище, используя этот механизм встроенной загрузки. (что будет быстрее, чем загрузка через dotNetRDF), а затем использовать dotNetRDF просто в качестве клиента, через который можно выполнять ваши запросы