我应该使用什么样的jena词汇来创建主要基于ART的PDF?

时间:2012-04-23 19:34:46

标签: java rdf jena ontology

我想创建一些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的想法,我想用更通用但有意义的东西替换它,我不知道怎么能这样做。

1 个答案:

答案 0 :(得分:4)

你看过Music Ontology了吗?它完全涵盖了您的需求,并已被BBC等主要数据提供商使用。

Jena没有预定义的类,其中包含音乐本体的常量(就像RDFDC以及其他名称空间一样),因此您可以执行以下任一操作:

  • 使用Jena的schemagen tool自动生成一个带有音乐本体中定义的常量的Java类
  • 使用createProperty()createResource()
  • 为类和属性创建自己的常量