我想创建一些RDF我的问题是我不知道我应该使用什么样的词汇来做这样的事情:
这是我的数据样本(我已将它们存储到多个XML文件中)
<uri>http://dbpedia.org/resource/Herbie_Mann</uri>
<classtype>classtype:Artist</classtype>
<title>Herbie Mann</title>
<albums>
<album url="/~u0082/intelweb2/%3fq=album/75">Push Push</album>
<album url="/~u0082/intelweb2/%3fq=album/87">At the Village Gate</album>
</albums>
<website>http://www.herbiemannmusic.com</website>
<biography>
Herbie Mann, credited as being one of the seminal jazz flutists, is probably best known for the musical....
</biography>
这是我写过的非常粗略的代码:
Model model = ModelFactory.createDefaultModel();
Property prop = model.createProperty(artistURI);
Resource herbie_mann = model.createResource(artistURI);
herbie_mann.addProperty(RDF.value,artistName);
herbie_mann.addProperty(RDF.object,artistClass);
herbie_mann.addProperty(RDF.subject , model.createResource().addProperty(RDF.object, artistAlbum1));
model.write(System.out);
但我不喜欢使用value / object / subject的想法,我想用更通用但有意义的东西替换它,我不知道怎么能这样做。
答案 0 :(得分:4)
你看过Music Ontology了吗?它完全涵盖了您的需求,并已被BBC等主要数据提供商使用。
Jena没有预定义的类,其中包含音乐本体的常量(就像RDF
和DC
以及其他名称空间一样),因此您可以执行以下任一操作:
createProperty()
和createResource()