c# - .net을위한 훌륭한 RDF 라이브러리는 무엇입니까?




semantic-web owl (4)

BrightstarDB는 SPARQL을 지원하는 네이티브 .NET NoSQL RDF 트리플 저장소이며 LINQ 및 OData를 지원하는 .NET 엔터티 프레임 워크입니다. 개발자 및 오픈 소스 프로젝트에는 무료이며 상업적 사용을위한 런타임 비용이 적습니다.

BrightstarDB는 세 가지 수준의 API를 제공합니다.

  1. SPARQL 쿼리와 간단한 트랜잭션 API.
  2. 삼중 컬렉션을 데이터 객체로 그룹화하는 일반 객체 API
  3. 인터페이스 정의를 사용하고 데이터를 RDF로 BrightstarDB 인스턴스에 저장하는 강력한 유형의 .NET 도메인 모델을 생성하는 Visual Studio 통합. .NET 모델은 LINQ를 지원하며 OData 서비스로도 노출 될 수 있습니다.

모든 BrightstarDB 문서는 온라인 상태이며 소프트웨어는 http://www.brightstardb.com 에서 등록없이 다운로드 할 수 있습니다 .

나는 RDF와 OWL 데이터를 처리 할 수있는 라이브러리를 찾고있다.

지금까지 나는 발견했다.

  • semweb (내가 아는 모든 올빼미 지원)
  • rowlex (더 많은 '브라우저'응용 프로그램)

귀하의 추천 :

  • LinqToRdf (매우 흥미 롭습니다, 감사합니다!)

Codeplex에서 RDFSharp 를 사용해보십시오. 젊지 만 유망한 것처럼 보입니다.


오픈 소스 라이브러리를 생성합니다. dotNetRDF - OWL 지원은 현재 다소 제한적이지만 사용상 이상적이지 않을 수 있습니다.


ROWLEX 는 실제로 매우 멋지다 (내부적으로 SemWeb 사용). 그것은 단지 브라우저 앱이 아니라 C #으로 작성된 SDK입니다. ROWLEX를 사용한다면 더 이상 RDF의 삼각 관계와 직접 상호 작용하지는 않지만 (객체 지향적 인 모양과 느낌을 제공합니다). 두 가지 주요 사용 시나리오가 있습니다.

  1. 비즈니스 클래스 우선 : .NET 비즈니스 클래스가 있습니다. XML 직렬화 속성과 마찬가지로 선언적으로 클래스에 속성을 추가합니다. 이 후에 ROWLEX는 비즈니스 클래스에 해당하는 온톨로지를 추출하고 비즈니스 객체를 RDF로 직렬화 할 수 있습니다.
  2. 온톨로지 우선 : 온톨로지가 있고 ROWLEX 는 RDF 문서를 작성 / 검색하는 데 사용할 수있는 .NET 클래스를 생성합니다. 가장 좋은 점은 이러한 자동 생성 클래스가 코드 생성기의 일반적인 결과보다 훨씬 우수하다는 것입니다. 이들은 상속 그래프 전체를 포괄하는 암시 적 및 명시 적 캐스트 연산자를 제공하여 OWL의 다중 상속 기능을 사용하고 익숙하게 사용할 수 있습니다.

일반적인 사용법은 온톨로지의 첫 번째 접근 방식입니다. 예를 들어, 온톨로지가 다음 다중 상속 시나리오를 설명한다고 가정 해 보겠습니다.

자동차는 자동차의 서브 클래 싱입니다.

자동차는 회사의 클래스

ROWLEX를 사용하면 Car, Vehicle 및 CompanyAsset에 대한 .NET 클래스를 얻을 수 있습니다. 다음 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를 수정합니다.





owl