Jena Framework를 사용하여 RDF에서 정보를 얻으려면 도움이 필요합니다. 나는이 같은 RDF 내용이 : 엔티티 :RDF/XML Jena getValue
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ts="http://www.test.com/testModel.owl#">
<ts:Entity rdf:ID="1234_test">
<....>
</ts>
</rdf:RDF>
지금 내 생각은 TS에서 ID를 얻을하는 것입니다. 이것은 내 코드입니다 :
Model model = ModelFactory.createDefaultModel();
InputStream requestBody = new ByteArrayInputStream(request.getBytes());
String BASE = "http://www.test.com/testModel.owl#";
model.read(requestBody,BASE);
requestBody.close();
StmtIterator iter = model.listStatements();
while (iter.hasNext()) {
Statement stmt = iter.nextStatement(); // get next statement
Resource subject = stmt.getSubject(); // get the subject
Property predicate = stmt.getPredicate(); // get the predicate
RDFNode object = stmt.getObject(); // get the object
System.out.println(subject + " | "+predicate);
}
유일한 문제는이 모든 문장을 스크롤해야한다는 것입니다. ts : Entity에서 ID를 직접 가져 오는 방법이 있습니까? 어쩌면 자원을 얻고 그 자원과 관련된 ID 값을 얻는 것입니다.
도움을 주셔서 미리 감사드립니다. 예를 들어 내가이 RDF의 경우 전, 비슷한 질문을 가지고 있기 때문에
미안 해요, 내가 다시 여기입니다 :
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ts="http://www.test.com/testModel.owl#">
<ts:Entity rdf:ID="1234_test">
<ts:Resource>
<ts:testProp rdf:datatype="http://www.w3.org/2001/XMLSchema#string">test_ID_test</ts:testProp>
</ts>
</ts>
</rdf:RDF>
내가 값 test_ID_test을 추출 할 수있는 방법을 ??? 그리고 만약 내가 SPARQL을 사용하고 싶다면 jena로 어떻게 할 수 있을까? ???
고맙습니다 ... 유일한 오류는 다음과 같습니다. 문자열 entityID = iter.nextStatement(). getSubject(). getURI(); 주제를 얻기위한 성명서가 필요하기 때문입니다. – Asp1de
저는 질문자를위한 운동으로 더 많은 개선점을 남깁니다 :-) – user205512