2 개의 기존 RDF/XML 모델을 병합하려고했습니다. 나는 자바에서 예나를 사용하고기존 모델에 모델 추가 RDF
model1.union(model2)
model1.add(model2) //adding a complete model
model1.add(model2.listStatements())
: 나는 다른 솔루션을 시도했다.
두 번째 모델에서 봉투 태그 (예 : Equipment
)를 제거했지만 항상 동일한 문제가 있습니다. 결과 모델이 실제로 병합되지 않습니다. 추가 된 각 모델에 대해 봉투가 포함되어 있습니다. 예 : 2 개의 문서가 있지만 다른 종점이 있습니다. endpointA
bookid123
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3schools.com/rdf/">
<rdf:Description rdf:about="http://endpointA/bookid123">
<si:title>W3Schools.com</si:title>
</rdf:Description>
</rdf:RDF>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3schools.com/rdf/">
<rdf:Description rdf:about="http://endpointB/bookid123">
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
결과, 뭔가 같은 endpointB에서 bookid123 :
그들은 모든 데이터를 포함하는 하나 개의 문서가 합병한다<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3schools.com/rdf/">
<rdf:Description rdf:about="http://endpointA/bookid123">
<si:title>W3Schools.com</si:title>
</rdf:Description>
<rdf:Description rdf:about="http://endpointB/bookid123">
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
하지만 나는 입니다 :
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3schools.com/rdf/">
<rdf:Description rdf:about="http://couldbeanything/bookid123">
<si:title>W3Schools.com</si:title>
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
model2
에 추가, model1
의 모든 문을 받고보다 스마트 한 방법 때문에 소스 URI의 다른 문을 제외하고 있습니까?
둘의 : 병합 할 각이 개 자원
resource1
및resource2
을 위해, 또한 다른 문으로 하나의 문장을 복사하는 루프를 실행 이 스 니펫은 유효한 RDF/XML이므로 첫 번째 파일은 사용자가 얻는 것임을 의심하며 두 번째 파일이 원하는 파일인지 의심 스럽습니다. 당신은 이미 RDF가 주체 - 술어 - 객체 트리플이라는 용어로 정의되어 있다는 것을 이미 알고 있기 때문에 각 모델에서 어떤 트리플이 있고 최종 모델에서 원하는 트리플이 무엇인지 말하면 도움이 될 것입니다. XML 태그에 대해서 말하면 혼란 스러울뿐입니다. 또한 어떤 라이브러리를 사용하고 있습니까? 아파치 예나 (Apache Jena)라고 생각하지만 거기에는 많은 RDF 라이브러리가있다. – cygri나는 나의 예를 편집하고 더 많은 정보를 추가했다. 자네 말이 맞아, 나는 자바 프로젝트에서 jena 라이브러리를 사용하고있다. – wassermine