4월, 2007의 게시물 표시

JenaRDB로 Sparql수행하는 예제

funtheory님의 질문에 포스팅합니다. 우선 온톨로지를 JenaDB로 만들었고, 모델을 가져올 수 있다는 가정하에 함 보죠. 물론 Sparql도 안다는 가정. OntModel model = getOntModel("모델URI"); //모델을 가져옵니다. //getOntModel메소드 추가합니다. private Model getOntModel(String urn){       PersistentOntology po = new PersistentOntology();       ModelMaker maker = po.getRDBMaker(s_dbURL, s_dbUser, s_dbPw, s_dbType, false);             Model model = maker.getModel(urn);         return model;   } 가져온 모델을 이용해 Sparql을 돌려보죠. (온톨로지에는 Person클래스와 nameOfPerson이라는 String타입의 프로퍼티가 있다고 가정할께요.) private void runSPAQL(OntModel model){       //Query query1 = QueryFactory.read("test.rq", "ko");        //이렇게 파일로 만들어도 되요. 메모장에서 utf-8로 저장해야할겁니다. 가물~             Query query1 = QueryFactory.create("PREFIX dc: <http://purl.org/dc/elements/1.1/#>\n" +               "PREFIX owl: <http://www.w3.org/2002/07/owl#>\n" +               "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +    

Ontology를 사용하면 '사용자'에게 어떤 이득이 있나요?

작년까지 학교에 있었고, 현재 업체에 있는 나의 경우, 답하기 힘든 질문중에 하나는... "Ontology를 사용하면 사용자에게 어떤 이득이 있나요?" 학교에 있을때야 돈이 안되도 그냥 관심가는 분야였고, 뭔가 될거라는 막연한 생각도 했던것 같다. 예전에 어디서 연락을 받고 왔는지는 모르겠지만 다른 업체에서 2006년도 수행했던 과제결과물에 대한 관심을 보이며 관련정보를 보여달라고 찾아왔었다. (작년 과제는 온토롤지 구축과 기반 서비스 프로토타입 시스템 개발이였다. ) 아는건 별로 없지만 예제도 보여주고 구현된 결과물도 보여주면서 성심성의것 답변 해주었다. 답변이 끝나갈 무렵, 그 분이 한 질문이 바로 "온톨로지를 사용하면 사용자에게 어떤 변화가 있나요?"였다. 난  대답했다. "글쎄요 ^^;; 어려운 추론이 섞인 질의나 단순한 전화번호를 묻는 질문이나 17인치 모니터안에서 보이는 것들은 동일할거예요." 어려운 추론이 섞인 질의나 단순한 질이든 사용자 입장에서는 뭐가 되었든 동일할것이고 동일해야 한다고 생각한다. 사실 사용자 가 얼마나 어려운 질의 를 하겠는가!? 별로 안좋아할껄. 차이는 그 다음부터라고 생각한다. 그 사람에게 맞는 서비스를 무엇을 어떻게 더 제공하느냐가 문제일뿐... 소리소문없이... 가끔 거대한 온톨로지를 만들어 이것만 구축되면 진정한 시맨틱웹이 구현될거라고 말하는 사람들을 본적이 있다. 웹이 온톨로지/시맨틱을 아는 사람들의 판은 아니기에 그런 관점이 아닌 보편적으로 웹을 바라보는 사람들의 관점에서 바라봐야한다. terrie 님의 블로그에서 RDFa Primer 1.0 소식을 접했다. HTML안에 RDF를 삽입하는 구조이다. 예전에 SHOE에서 했던 구조와 비슷하지만 태그를 기술하는 방식이 좀더 명시적이다. <html xmlns:contact="http://www.w3.org/2001/vcard-rdf/3.0#"> <span property="c