2017-12-31 253 views
0

추론자를 사용하여 여러 트리플의 일관성을 확인하고 싶습니다. 약 700k 개의 트리플이 있습니다. 따라서 각각의 파일에 대해 주제와 객체의 트리플 및 직접 유형으로 파일을 만들었습니다.OWLAPI에서 가져 오기 추가

작은 파일 중 하나를로드 할 때마다 모든 속성을 가져 오지 않으면 모든 ObjectProperty 문이 불일치를 발견 할 수없는 AnnotationAxioms로 처리됩니다. 어떻게 모든 속성을 한 번만 가져 와서로드 할 때마다 트리에 추가 할 수 있습니까?

미리 감사드립니다.

편집 여기에 제가 분석 할 작은 파일의 예를 추가합니다.

<?xml version="1.0" encoding="UTF-8"?> 
<rdf:RDF 
xmlns:wdt="http://www.wikidata.org/prop/direct/" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 
<rdf:Description rdf:about="http://www.wikidata.org/entity/Q295376"> 
<rdf:type rdf:resource="http://www.wikidata.org/entity/Q5"/> 
</rdf:Description> 
<rdf:Description rdf:about="http://www.wikidata.org/entity/Q21077119"> 
<rdf:type rdf:resource="http://www.wikidata.org/entity/Q17299750"/> 
<wdt:P1346 rdf:resource="http://www.wikidata.org/entity/Q295376"/> 
<rdf:type rdf:resource="http://www.wikidata.org/entity/Q4993329"/> 
</rdf:Description> 
</rdf:RDF> 

위의 행에는 가져 오기 공리가 포함되지 않습니다. 감사합니다.

+0

"모든 속성을 가져옵니다."-> 세 번에 사용 된 속성에 대한 공리가 포함 된 스키마를 가져 오는 것이 좋습니다. 확실하게 알았는지 확실하지 않지만 몇 가지 트리플을 포함하는 각 파일의 일관성을 확인하려는 것 같습니다. 파서에 들어가기 전에 파일을 수정해야합니다. 한 가지 방법은 먼저 문자열로 트리플을로드 한 다음 N-triples 구문을 사용한다고 가정 할 때 스키마 트리플을 앞에 추가하는 것입니다. – AKSW

+0

하나의 파일 내용의 예가 도움이 될 것입니다. 참고, 불일치에 대한 당신은 disjointness 같은 특정 공리 유형이 필요합니다 – AKSW

+0

안녕하세요 @AKSW 답장을 보내 주셔서 감사합니다! 위의 작은 파일의 예제를 추가했습니다. – Aliossandro

답변

0

트리플을 디스크에 쓰지 않는 것이 훨씬 빠릅니다. 프로퍼티에 대한 선언으로 tee 온톨로지를 만든 다음 테스트 할 공리를 추가합니다. 그런 다음 추론자를 만들고, 일관성을 테스트하고, 추론자를 버리고 방금 테스트 한 공리를 제거 할 수 있습니다. 그러면 온톨로지를 다른 공리와 새로운 추론과 함께 사용할 수 있습니다.

그러나 각 공리를 독립적으로 확인하고 있습니다. 공리가 독자적으로 일치 할 수도 있지만 공리가 함께 할 것인가에 대한 보장은하지 않습니다. 테스트를 마친 후에는 동일한 온톨로지에 나타날 것이라고 가정합니다.

+0

안녕하세요 @ Igazio 귀하의 회신에 감사드립니다. 나는 실제로 그렇게하려고 시도했지만, 문제는 필자가 그것을 수행하기 위해 온톨로지에 직접 형을 더한 공리를 추가해야한다는 것이다. 공리가있는 파일과 공리 유형이있는 파일은 상당히 큽니다 (몇 기가 바이트). 따라서 가져 오기와 관련하여 몇 가지 문제가있었습니다. 다시 시도하고 알려 드리겠습니다. – Aliossandro

+0

더 큰 걱정거리가 있습니다. 메모리에 온톨로지를로드하지 않고도 작동 할 수있는 추론자가 거의없고, 올빼미와의 인터페이스를 알지 못합니다.이러한 제한 조건 하에서 일관성 검사는 실행 불가능할 수 있습니다. – Ignazio

0
특히 내가 그 시나리오에 최적의 솔루션입니다 생각하지 않습니다 https://github.com/owlcs/owlapi/wiki/Add-an-import-directive-to-an-ontology

에서 OWLAPI 문서를 온톨로지로 가져 오기를 추가하는 방법에에

,하지만 당신은 :-) 질문 질문 있어요

+0

그걸 시도했지만 ObjectProperty 공리는 나중에 특성 파일을 가져 와서 인식하지 못했습니다. – Aliossandro

+0

온톨로지를 파싱하기 전에 ** 모든 작업을 완료해야합니다. – AKSW