Вы найдете всю документацию dotNetRDF по адресу https://github.com/dotnetrdf/dotnetrdf/wiki а>. Несколько примеров анализа RDF-данных из различных источников можно найти по адресу https://github.com/dotnetrdf/dotnetrdf/wiki/UserGuide-Reading-RDF. В RDF есть синтаксис, который сериализует только один граф, и синтаксис, который может сериализовать несколько графов — JSON-LD является одним из последних, поэтому вам также необходимо прочитать раздел о программах для чтения в магазине.
Во всех следующих примерах показана загрузка данных в хранилище в памяти.
Если ваш источник контента «хорошо себя ведет» (отправляет обратно правильные заголовки Content-Type или имеет ожидаемый суффикс имени файла, если это локальный файл), то загрузка данных может быть такой же простой, как создание нового в -memory graph и вызывая его метод Load:
var store = new TripleStore();
# This is a convenience wrapper that simply invokes UriLoader.Load()
store.LoadFromUri(contentSourceUri)
ПРИМЕЧАНИЕ. Здесь используется метод расширения (как описано на странице https://github.com/dotnetrdf/dotnetrdf/wiki/UserGuide-Extension-Methods), который является просто удобной оболочкой:
# Create the store
var store = new TripleStore();
# UriLoader will make an HTTP request and parse the response,
# selecting the parser to be used based on the Content-Type header returned.
UriLoader.Load(store, contentSourceUri);
Если вы выполняете синтаксический анализ строки, которую вы уже получили, или если вам нужно явно указать экземпляр анализатора для использования (это может быть в том случае, если вы хотите передать некоторые параметры синтаксическому анализатору, например, при его создании), тогда вам нужен немного более подробный подход:
var store = new TripleStore();
# Create the parser (we can pass in options here if needed)
var parser = new JsonLdParser();
# Wrap the string content in a StringReader and pass the target graph and the reader
parser.Load(store, new StringReader(contentsFromUri));
И последнее, на что следует обратить внимание, поскольку вы конкретно ссылаетесь на JSON-LD. Синтаксический анализатор соответствует JSON-LD 1.0, но его поддержка JSON-LD 1.1 основана на более ранней версии спецификации. В настоящее время я работаю над обновлением реализации и надеюсь, что через несколько недель появится новый выпуск, поддерживающий предлагаемую рекомендацию JSON-LD 1.1.
person
Kal
schedule
06.06.2020