2016-04-05 20 views
0

ait ad düzeltme:bu (çok yapmacık) kod parçacığı Verilen vocabularies

System.out.println(VCARD.uri); 
System.out.println(SKOS.uri); 

Resource johnSmith = model.createResource("http://somewhere/js") 
     .addProperty(VCARD.FN, "John Smith") 
     .addProperty(SKOS.notation, "John Smith"); 

model.write(System.out); 

biz SKOS Jena temsil edilir olduğu göz önüne alındığında

http://www.w3.org/2001/vcard-rdf/3.0# 
http://www.w3.org/2004/02/skos/core# 

<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#" 
    xmlns:j.0="http://www.w3.org/2004/02/skos/core#"> 
    <rdf:Description rdf:about="http://somewhere/js"> 
    <j.0:notation>John Smith</j.0:notation> 
    <vcard:FN>John Smith</vcard:FN> 
</rdf:RDF> 

olsun, neden hala j.0 notasyonu dönen olduğunu (henüz vcard mülk için değil)? Benzer soruları okudum (ör. this one ve this one ve this one), ancak kendi ontolojilerine atıfta bulunan kişilere atıfta bulunuyorlar. uri sabitinin SKOS için doğru olduğu göz önüne alındığında, RDF sunumunda neden değişiyor?

cevap

0

Kod, SKOS'tan URI'leri kullandı ancak modelde öneki ayarlamamıştır. Bakınız setNsPrefix.

Çıktının güzel yazdırma formunu kullanmak isteyebilirsiniz, varsayılan yalnızca temel RDF/XML'dir. model.write çağrısında sözdizimi adını ayarlayın (ayrıntılar için javadoc'a bakın).

+0

Dokümantasyonda, hangi sözcüklerin Jena'da dahili olarak ayarlandığını belirten bir belge göremedim (açıkça 'vcard' yapar, fakat skos yoktur) - bir liste var mı? – ChrisW