2011-04-12 7 views
2

주어진 rdf 파일을 특정 xml 파일로 변환해야한다는 요구 사항이 있습니다. 그래서 우리는 3 개의 입력 RDFS 파일, RDF 파일과 XSD 파일이 있습니다. 이것들과 함께 우리는 RDF 파일의 데이터를 갖는 XML 파일 (XSD를 준수해야 함)을 생성해야합니다. RDF 스키마는 단순하고 복잡한 관계 엔티티를 포함합니다. RDF에 정의 된 관계는 XSD에 정의 된 관계와 다릅니다.C# - RDF 파일을 특정 XML 파일로 변환

  1. 는 XML 파일에 RDF 파일을 변환하는 로직을 정의하는 XSLT를 만듭니다

    우리는 동일하게 구현하는 방법 중 몇 가지를 참조하십시오.

  2. 사용자 지정 C# 응용 프로그램을 빌드하십시오. (LinqToRDF와 같은 RDF 라이브러리를 사용하여) 동일한 작업을 수행하는 경우

어떤 옵션이 더 좋고 어떤 포인터가 더 좋은지에 관해서는 안내해주십시오.

감사합니다.

답변

0

우선 : "중 ... 또는"결정이 아닙니다. XSLT 변환을 사용자 지정 C# 코드와 쉽게 결합 할 수 있습니다. 그건 :

내 경험 XSLT는 변환에 너무 많은 논리가 포함되어 있지 않은 경우 좋은 선택입니다. 태그의 이름을 바꾸거나 계층 구조를 평평하게하거나 재정렬하는 것은 쉽지만 XSLT를 사용하면 쉽지만 "if-then-else"로직이 필요하다면 "태그 값을 if ...의 값으로 설정하면됩니다. .. else 태그 B "를 작성하십시오. RDF의 정의

문장

관계는 관계에서 다른 가 XSD에 을 정의합니다.

은 "if-then-else"및 "look up"논리를 포함하는 복잡한 변환과 비슷합니다. 이 경우에는 아마도 C# 중심 솔루션으로 넘어갈 것입니다.

+0

예, 변환에 복잡한 논리를 구현해야 할 수 있으며 C# 기반 솔루션이 더 좋을 것입니다. 그러나 나는이 방향으로 나아갈 방법을 모르겠습니다. LinqToRDF 라이브러리를 사용하여 rdf 파일을 구문 분석했지만 모든 문을 얻을 수는 있지만 클래스 및 객체의 형태로 RDF 정보를 검색하는 것이 가능합니다 (XML을 deserialize하는 방법과 같은)?rdfs 파일에서 이러한 클래스를 생성 할 수 있습니까 (예 : xsd.exe와 유사한 도구 사용)? –

+0

실제로 LinqToRdf가 설계된 것입니다. RDF 또는 OWL 온톨로지에서 .Net 클래스를 생성하기 위해 제공되는 RdfMetal이라는 도구 호출이 있습니다. 불행하게도이 작업을 수행하는 방법에 대한 문서는 매우 좋지 않으며 프로젝트가 작성자에 의해 얼마 전에 폐기되었으며 적극적으로 유지 관리되거나 지원되지 않습니다. – RobV

0

XSLT는 RDF/XML을 다른 방식으로 인코딩 할 수 있기 때문에 일반적으로 RDF/XML을 다른 형식으로 변환하는 것은 좋지 않습니다.

RDF/XML 입력을 엄격하게 제어하지 않는 한 순수 XSLT 변환은 일반적으로 유지 관리가 어렵고 어렵습니다.

RDF의 C 번호 조작을 위해 당신은 dotNetRDF 시도 할 수 있습니다 (책임의 한계와 법적 고지 - 나는 도서관 개발) 당신에게 배 수준에서 RDF 작업을위한 API를 제공합니다. RDF에 규칙적인 반복 구조가있는 경우 해당 데이터를 추출하는 가장 쉬운 방법은 SPARQL 쿼리를 사용하여 RDF에서 나와 관련있는 데이터를 가져 오는 것입니다. 결과 (구조가 DataTable과 유사하고 작업하기가 더 쉬운 경우 DataTable로 캐스팅 할 수 있음)를 얻으면 원하는대로 XML 파일을 생성 할 수 있습니다.

만약 당신이 어떤 도움이나 조언을 원한다면 그것이 당신을 위해 실행 가능한 옵션이 될 것 같으면 저에게 프로젝트 메일 링리스트에 이메일을 보내주십시오.

관련 문제