당신이 일반적인 답 : 모든 OWL 속성 데이터 유형 또는 오브젝트 유형 중 하나 여야를 얻을 수 있도록 문제는 매우 불분명하다.
- 오브젝트 유형 특성은 그래프의 두 노드, 즉 제목뿐만 아니라 트리플의 오브젝트도 URI (또는 공백 노드)입니다.
- 데이터 형식 속성 : 트리플의 개체는 문자열, 정수, 날짜 시간 등이 될 수있는 구체적인 값입니다. 이러한 구체적인 값을 "리터럴"-s라고합니다. 리터럴의 기본 유형은 "리터럴"입니다. 다음은 서브 클래 싱 된 구체적인 유형 (문자열, 정수, 날짜 시간 ...)입니다.
온톨로지를 정의 할 때 데이터 유형 속성을 특정 리터럴 유형으로 제한 할 필요가 없습니다. 어떤 종류의 리터럴을 받아들이면 일반화 할 수 있습니다. ROWLEX가이를 지원합니다. 일반적인 RdfLiteral 클래스와 RdfLiteralString, RdfLiteralDateTime 등과 같은 특정 리터럴 클래스의 호스트가 있습니다. 모든 특정 리터럴 클래스에는 .NET 유형을 리터럴로 변환하기위한 명시 적 및 암시 적 캐스트 구현이 포함되어 있습니다. 따라서 ROWLEX에서, 당신은 쓸 수 있습니다 : 당신의 온톨로지에 생년월일 (DateOfBirth) 데이터 형식 속성을 날짜 시간으로 제한되어 있지 않은 경우
는
RdfDocument rdfDoc = new RdfDocument();
// Assuming that Person class and DateOfBirth data type property
// are autogenerated from your person-ontology, AND
// your DateOfBirth data type property is restricted to DateTime
Person p = new Person("joe", rdfDoc);
// Implicit casting from DateTime to RdfLiteralDateTime
p.DateOfBirth = new Sytem.DateTime(1946, 12, 31); // Compiles OK
p.DateOfBirth = 26; // Compiler error
p.DateOfBirth = "Hello World"; // Compiler error
모든 위의 선은 오류없이 컴파일합니다. 그러나 개인적인 견해로는 오류와 잘못된 의사 소통을 방지 할 수 있기 때문에보다 구체적으로 구체적으로 설명 할 수 있습니다.
자세한 내용을 입력 해주세요. 당신의 질문을 따르지 않은 사람은 당신이 원하는 것을 거의 알지 못할 것입니다. –