owlim library으로 작업하여 올빼미 온톨로지 파일을 편집하려고합니다. 올빼미 라이브러리에 포함 된 '시작하기'예제 코드로 시작했습니다. 이 예제 코드로 라이브러리를 사용하면 모든 것이 완벽하게 작동합니다. 이 저장소를 구성하는 데 owlim.ttl 파일을 사용하며,이 역시이 저장소의 경로를 포함하십시오 documentation site에owlim 라이브러리 구성 파일 사용
(owlim.ttl :
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix rep: <http://www.openrdf.org/config/repository#>.
@prefix sr: <http://www.openrdf.org/config/repository/sail#>.
@prefix sail: <http://www.openrdf.org/config/sail#>.
@prefix owlim: <http://www.ontotext.com/trree/owlim#>.
[] a rep:Repository ;
rep:repositoryID "owlim" ;
rdfs:label "OWLIM Getting Started" ;
rep:repositoryImpl [
rep:repositoryType "openrdf:SailRepository" ;
sr:sailImpl [
owlim:ruleset "owl-horst-optimized" ;
owlim:entity-index-size "5000000" ;
owlim:cache-memory "180m" ;
sail:sailType "swiftowlim:Sail" ;
owlim:noPersist "false" ;
owlim:storage-folder "storage" ;
owlim:base-URL "http://example.org/owlim#" ;
owlim:repository-type "in-memory-repository" ;
owlim:imports "./sesame/example.rdfs" ;
owlim:defaultNS "http://example.org/owlim#" ;
]
].
는 명시 적으로 그런 말 :
을 'With the example set up, OWLIM-Lite loads two ontologies at start up as specified by the imports parameter in the repository configuration file, i.e. owlim.ttl'
,
하지만 그 경로를 다른 파일로 변경하면 이전과 같이 동일한 출력을 얻게됩니다. 이 example.rdfs 저장소에서 무언가를 변경하려고해도 쿼리의 결과는 바뀌지 않습니다. 문제가 무엇인지 압니까? 경로가 다른 곳에서 지정 되었습니까?
응용 프로그램이 실행되고 있지 않을 때 명령문을 변경했습니다. 응용 프로그램을 다시 컴파일하고 다시 시작할 때 저장소가 다시로드된다고 생각합니까? (즉, 응용 프로그램이 중지되면 메모리의 저장소가 사라지고 응용 프로그램이 다시 시작될 때 저장소가 다시로드됩니다) – Consec
OWLIM-Lite는 종료시 저장소의 내용을 직렬화하고 시작시 다시로드합니다. 저장소가 생성되면 가져온 온톨로지는 온톨로지 파일을 변경했는지 또는 OWLIM을 실행할 때 실행 중인지 여부와 관계없이 다시로드되지 않습니다. 이 매개 변수의 의도는 절대 변경되지 않는 스키마를 한 번만로드하는 것입니다. 이 온톨로지/스키마를 변경해야하는 경우 저장소를 다시 만들고 다른 데이터를 다시로드해야합니다. OWLIM이 실행되고 있지 않기 때문에 저장소가 존재하지 않는다는 것을 의미하지는 않습니다. 이 정보가 도움이되기를 바랍니다, 배리 – Barry
배리 감사합니다. 문제가 무엇인지 알지만 솔루션이 무엇인지 확실하지 않습니다. 로더가 초기화 될 때 이전 세션의 저장소를 명시 적으로 삭제해야합니까? 수동으로 example.rdfs를 삭제하고 다른 저장소로 바꾸려고했으나 아무런 효과가 없다고 말했던 것처럼. – Consec