Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 17. 22:28
Jena API의 기능중에 하나인 Inference(추론) 기능에 대한 설명입니다. 공식 메뉴얼은 아래 링크. http://jena.apache.org/documentation/inference/index.html RDF사용시 추론기능을 자바로 구현하는 내용이 담겨있습니다. 참고로 온톨로지 API를 사용한다면 (OntModel을 사용한다면) 자동적으로 추론모델이 포함되어 있기때문에 사용할 필요가 없습니다. 단지 RDF에서만 추론기능이 가능한 InfModel을 제공합니다. 사실 추론기능은 툴로 사용이 가능하기때문에 그다지 쓰지는 않을 것 같지만, 온톨로지를 자동적으로 구성해주는 프로그램을 제작할 경우 필요할 것 같습니다. 일단 Jena에서 사용가능한 추론은 다음과 같습니다.이행성 추론기: Transitiv..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 14. 00:09
지난 포스팅에 이어 공식 홈페이지 메뉴얼을 보도록 하겠습니다. 이번엔 코드도 함께 테스트하면서요. http://jena.apache.org/documentation/ontology/ 지난시간에 list를 만드는 내용을 했었습니다. 위에 그림을 설명하고 이해했었습니다. 하지만 코딩은 안해봤는데 이번 포스팅은 코딩을 시작으로 진행하겠습니다. 제가 사용한 코드는 다음과 같습니다. Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142import java.util.Iterator; import com.hp.hpl.jena.ontology.Individual;import com.hp.hp..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 12. 13:47
이번에는 더 복잡한 예제소스입니다.jena 폴더안에 src-examples\jena\examples\ontology\describeClass 안에 두개의 java파일이 있습니다. main부터 살펴보도록 하겠습니다. Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 11. 22:11
일단 소스코드는 소스포지에서 다운받습니다. http://sourceforge.net/projects/jena/files/Jena/ 소스코드라기보다는 Jena API를 통채로 받습니다. 그 안에 예제 온톨로지와 소스코드가 들어있습니다. 최신버전을 받고 압축을 푼다음 src-examples/jena/examples/ontology에 가면 3가지 예제가 있습니다. 하나씩 파보면서 jena API에 사용법을 몸에 적응시켜 보겠습니다. ㅎㅎ 첫번째로 볼 소스는 ClassHierarchy입니다. 실행을 한번 시켜봤는데 온톨로지를 읽어들여서 클래스로 나열시켜주는 간단한 기능인것 같습니다. 두개의 java파일로 만들어져 있는데 일단 Main.java를 보도록 하겠습니다. Colored By Color Scripter™..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 5. 18:32
벌써 3번째 포스팅이네요. 생각보다 내용이 많네요 .. 아직 반도 못한듯.. 일단 참고하는 홈페이지 설명서 주소는 다음과 같습니다. http://jena.sourceforge.net/tutorial/RDF_API/index.html#ch-Navigating%20a%20Model Controlling prefix 지난시간에 외부에 파일을 읽고 쓰는 것까지 했습니다. 홈페이지에서 보면 Reading RDF까지 했군요. 다음에 나오는것은 프리픽스 컨트롤입니다. 프리픽스라고 하는것은 네임스페이스의 이름같은 것을 말합니다. 일단 프리픽스라는것 자체의 뜻은 접두어를 뜻하는데 RDF에서는 네임스페이스의 이름으로 정의하고 해당 네임스페이스가 사용된 소스 앞에 prefix:property 식으로 사용됩니다. 이런 프리픽..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 5. 00:22
저번 포스팅에 이어 연속해서 Jena RDF API를 사용해 보도록 하겠습니다. 지난번에 만들었던 간단한 모델에다가 추가로 여러가지를 덧붙입니다. 리소스는 속성을 갖고 속성을 값을 가질 수 있다고 했습니다. 하지만 리소스가 또 다른 리소스를 속성으로 가질수 있습니다. 다음과 같은 모델을 만들어 봅니다. 위에 모델에서 JohnSmith라는 URI는 vacard를 두개를 가지고 있는데 하나는 FN이고 하나는 N입니다. vcard:N이 가지고 있는것은 값이 아니라 리소스이고 이 리소스는 두개의 속성을 가지고 있습니다. 하나는 vcard:Given이라는 이름이고 하나는 vcard:Family 라는 성입니다. 즉 존스미스 리소스는 두개의 속성이 있는데 하나는 풀 네임을 값으로 갖는 속성이고 하나는 리소스인데 이 ..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 3. 19:17
온톨로지를 만들고 온톨로지를 활용하여 프로그래밍 하기 위해 여러 API가 있다는 것을 알았다. 일단 OWL API가 있고 protege에서 만든 protege-api가 있고 jena API가 있다. 3가지 모두 자바를 활용하여 온톨로지를 사용할 수 있게 하는 api인데 어떤것을 가지고 사용해야될지 고민을 했었다. 구글링 결과 OWL API와 protege-api의 경우 RDF언어보다는 OWL언어를 사용하기때문에 추론이나 그래프적인 묘사부분이 힘들다는 의견이 나왔다. 반면 jena API의 경우 RDF언어를 기반으로 온톨로지를 사용하기 때문에 사용이 더 편하다고 한다. 그래서 이번에 온톨로지를 사용한 프로그램을 제작하기위해 jena api를 사용해보기로 했다. jena api의 설치는 이클립스에서 buil..