BBox2015 from the skeleton
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
BBOX
.DS_Store
BBOXtemp
Config.ini
README.md

README.md

WiseKB WP6 B-Box Ver. Jun-2015

주요 사항

1. 2015년 1차 통합(7월 22일)을 위한 B-Box 1차 결과물

내용: 기존 2014년 타입찾기 알고리즘을 다음 환경(Virtuoso I/O + Maven + Spring REST API) 에서 동작하도록 수정

2. 소프트웨어 I/O

Virtuoso server (dmserver5.kaist.ac.kr)의 DBpedia 2014을 지식 베이스로 삼아, 2014년도 L-Box triple(IRI: lbox.kaist.ac.kr)를 Input으로 받고, 타입을 찾은 결과를 IRI: bbox.kaist.ac.kr 에 저장한다.

3. REST SERVICE 사용 방법

3.1. mvn clean package 를 실행한다.

정상적으로 실행된다면 target 폴더에 BBOX-{version}-SNAPSHOT.jar 파일이 생성된다.

3.2. REST SERVICE를 동작시킨다.

java -jar target/BBOX-{version}-SNAPSHOT.jar

3.3. 외부에서의 테스트 방법

3.3.1 리눅스의 curl 명령어를 이용하는 방법

curl -H "Accept: application/json" -H "X-AUTH-TOKEN: XXXX" -X POST -d "[1234,4567,89012]" http://143.248.90.195:8080/BBOX2015

0. 남은 소프트웨어 개발 단계

  1. I/O Format 맞추기

    • 변수, 메소드이름 이해할 만한 이름으로 고치기(규칙)
    • 하드코딩되어 있는 부분을 빼기
    • Parameter 등은 외부에 파일을 하나 둬서, 거기서 읽어오게 하기 (Config.ini) - 계속 업데이트
    • Output ttl이 현재 로컬에 저장되는데, 자동으로 Virtuoso로 업로드하는 부분 (ISQL,Bulk-load)구현 - 가능한지 모르겠음.
    • Singleton RDF property 형식으로 출력, 최 교수님쪽에 연락해서 Input 받기
    • dbp-propko 맵핑 테이블이 현재는 .txt파일로 /BBOX/src/main/resources/mapping에 저장 해당 파일이 virtuoso 안에 있을 때는 I/O 수정 필요.
  2. 빠져있던 TF-IDF Measure 구현 (Frequency counting modification)

  3. Domain의 Hierarchy 불일치 처리 방법 강구

    • Instance '브랜던 벨트'의 경우 도메인 분석 결과(/output/test~.ttl 파일에서의 최종 결과는 Person)을 보니, Console창에서 BaseballPlayer가 네 번 나왔고, Person이 일곱 번 나온 걸 확인할 수 있다. 이전 알고리즘의 경우에는 Property의 domain을 분석할 때, 최 하위 도메인이 나오게 되어 있었으므로, 이런 경우에는 BaseballPlayer로 나왔으나, 최 상위 도메인은 최상위대로 계산하게 해 놓아서, Person의 숫자가 더 높게 나온다 - Person이 브랜던 벨트의 타입으로 결정됨.
  4. Incremental한 부분 고려, Process 구분

    • Property-Domain 테이블은 첫번째 B-Box 구동시에만 작동하면 되니까, 구분해야한다.
    • 증강이 필요한 트리플이 새로 입력되었을 때, DBPedia 2014에서 해당 subject과 관련된 트리플을 모두 load해야 하는데, 비효율적이다(같은 subject이 연속적으로 들어올 경우에는 똑같은 작업을 또 해야함) - 중간 결과 등을 저장해 놓아도 되는데, 어떻게 처리해야 할 지 고민
  5. 메소드 구성 변경 - 모두 다 loadTriple에 들어가 있음..

  6. Property generalization? 스키마 정교화 방법 생각.

  7. 처음에 laodTriple 부분에서 iri가진 것 중 ttl 하나만 사용하는듯?

  8. 지금 lbox에서 input을 불러오고, dbpedia2014에서 관련된 트리플을 불러오는 구조인데, 실제로 deploy되었을 떄, bbox가 여러번 돈다고 가정할 경우에 input을 lbox+dbpedia2014로 가져와야하는거 아닌가? (lbox에 있는 트리플이 자동으로 dbpedia2014로 옮겨지는게 아니므로?)

재성: SDType 구현