[JENA] Tutorial – Controlling Prefixes
Tutorial 5 에 이어 Controlling Prefixes 설명 부분이다.
전에 정의한 네임스페이스를 전처리기 처럼 미리 정의하여 코드를 간략히 하는 예제이다.
Jena는 이러한 긴 URI들을 간략히 하여 표현하는 간단한 예제를 보여준다.
//모델 생성
Model m = ModelFactory.createDefaultModel();
//스트링형 URIs
String nsA = “http://hacks.wo.to/ju0e#”;
String nsB = “http://hackscd.goanygate.com/ju0e#”;
//리소스 생성
Resource root = m.createResource( nsA + “root” );
//프로퍼티 생성
Property P = m.createProperty( nsA + “P” );
Property Q = m.createProperty( nsB + “Q” );
Property x = m.createProperty( nsA + “x” );
Property y = m.createProperty( nsA + “y” );
Property z = m.createProperty( nsA + “z” );
//모델 등록
m.add( root, P, x )
.add( root, P, y )
.add( y, Q, z );
System.out.println( “# — no special prefixes defined” );
m.write( System.out );
System.out.println( “# — nsA defined” );
//네임스페이스 세팅
m.setNsPrefix( “nsA”, nsA );
m.write( System.out );
System.out.println( “# — nsA and cat defined” );
//네임스페이스 세팅
m.setNsPrefix( “cat”, nsB );
m.write( System.out );
결과는 코드에 비해 상당히 많은 내용들이 출력되어 진다.
# — no special prefixes defined
<rdf:RDF
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:j.0=”http://hackscd.goanygate.com/ju0e#”
xmlns:j.1=”http://hacks.wo.to/ju0e#” >
<rdf:Description rdf:about=”http://hacks.wo.to/ju0e#root“>
<j.1:P rdf:resource=”http://hacks.wo.to/ju0e#y”/>
<j.1:P rdf:resource=”http://hacks.wo.to/ju0e#x”/>
</rdf:Description>
<rdf:Description rdf:about=”http://hacks.wo.to/ju0e#y“>
<j.0:Q rdf:resource=”http://hacks.wo.to/ju0e#z”/>
</rdf:Description>
</rdf:RDF>
# — nsA defined
<rdf:RDF
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:j.0=”http://hackscd.goanygate.com/ju0e#”
xmlns:nsA=”http://hacks.wo.to/ju0e#” >
<rdf:Description rdf:about=”http://hacks.wo.to/ju0e#root“>
<nsA:P rdf:resource=”http://hacks.wo.to/ju0e#y”/>
<nsA:P rdf:resource=”http://hacks.wo.to/ju0e#x”/>
</rdf:Description>
<rdf:Description rdf:about=”http://hacks.wo.to/ju0e#y“>
<j.0:Q rdf:resource=”http://hacks.wo.to/ju0e#z”/>
</rdf:Description>
</rdf:RDF>
# — nsA and cat defined
<rdf:RDF
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:cat=”http://hackscd.goanygate.com/ju0e#”
xmlns:nsA=”http://hacks.wo.to/ju0e#” >
<rdf:Description rdf:about=”http://hacks.wo.to/ju0e#root“>
<nsA:P rdf:resource=”http://hacks.wo.to/ju0e#y”/>
<nsA:P rdf:resource=”http://hacks.wo.to/ju0e#x”/>
</rdf:Description>
<rdf:Description rdf:about=”http://hacks.wo.to/ju0e#y“>
<cat:Q rdf:resource=”http://hacks.wo.to/ju0e#z”/>
</rdf:Description>
</rdf:RDF>