Что такое хорошая библиотека RDF для .NET? [закрытый]

Иметь подзапрос, который возвращает значения PRINCIPAL, существующие более одного раза:

select *
from tablename
where PRINCIPAL not in (select PRINCIPAL from tablename
                        group by PRINCIPAL
                        having count(*) > 1)
12
задан Kasper van den Berg 26 August 2015 в 07:54
поделиться

3 ответа

ROWLEX на самом деле очень прохладен (использует SemWeb внутренне). Это не просто приложение браузера, а скорее SDK, записанный в C#. При использовании ROWLEX Вы непосредственно больше не взаимодействуете с утраиванием RDF (хотя Вы можете), но дает объектно-ориентированный look&feel. Существует два основных сценария использования:

  1. Бизнес-класс сначала: у Вас есть свои бизнес-классы.NET. Вы декларативно добавляете атрибуты к своим классам так же, как Вы делаете с атрибутами сериализации XML. После этого ROWLEX может извлечь онтологию, соответствующую Ваши бизнес-классы, и/или может сериализировать Ваши бизнес-объекты в RDF.
  2. Онтология сначала: у Вас есть своя онтология (онтологии), и ROWLEX генерирует классы.NET для Вас, что можно использовать для создавания/просматривания документов RDF. Большая вещь состоит в том, что эти автоматически сгенерированные классы намного лучше затем типичные результаты генераторов кода. Они удобны для использования и подражают нескольким функция наследования СОВЫ путем обеспечения неявных и явных операторов броска для покрытия всего графика наследования.

Типичным использованием является Онтология, сначала приближаются. Например, давайте скажем, что Ваша онтология описывает следующий несколько сценарий наследования:

Автомобиль isSubClassOf Механизм

Автомобиль isSubClassOf CompanyAsset

Используя ROWLEX, Вы получите классы.NET для Автомобиля, Механизма и CompanyAsset. Следующий код C# скомпилирует без любой проблемы:

    RdfDocument rdfDoc = new RdfDocument();
    Car car = new Car("myCarUri", rdfDoc);
    Vehicle vehicle = car; // implicit casting
    CompanyAsset companyAsset = car; // implicit casting 
    vehicle.WheelCount = 4;
    companyAsset.MonetaryValue = 15000;
    Console.WriteLine(rdfDoc.ToN3());

Это распечатало бы:

myCarUri typeOf Car 
myCarUri WheelCount 4 
myCarUri MonetaryValue 15000

"Автомобильный" бизнес-объект представлен в RdfDocument, как утраивается. Автоматически сгенерированные классы C#/VB ведут себя как представления. У Вас может быть несколько представлений C# - каждый совершенно другой тип - на том же бизнес-объекте. Когда Вы взаимодействуете с этими представлениями, Вы на самом деле изменение RdfDocument.

10
ответ дан 2 December 2019 в 05:04
поделиться

Я исследовал это просто немного несколько месяцев назад. Один из более интересных проектов, которые я мог найти: http://www.hookedonlinq.com/linqtordf.ashx

2
ответ дан 2 December 2019 в 05:04
поделиться

Я создаю библиотеку с открытым исходным кодом dotNetRDF - поддержка OWL в настоящее время несколько ограничена, но может не подходить для ваших целей

7
ответ дан 2 December 2019 в 05:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: