语义网络应用案例研究-meex

语义网络技术为我们展望一幅美景,但是,语义网络相关技术复杂且众多,用它们将美景变成现实不是一件容易的工作,有点摸不着头脑的感觉。我最近在网上发现了一个实例,使用众多语义网络技术实现了一个mashup(混搭)服务,是一个详细的step-by-step的教程,而且开放所有资源。这个实例就是meex

meex将音乐风格、音乐家信息、演出活动等内容mashup在一起,分别来自三个数据源:

  • MusicMoz用一个XML文件存储音乐风格分类和艺术家信息
  • MusicBrainz用一个PostgreSQL数据库dump存储艺术家和作品信息
  • EVDB通过REST服务对外提供事件和活动信息

meex使用OWL描述的概念模型驱动mashup逻辑,使用了以下众多产品和技术。

  • OWL: 描述meex业务的相关概念的关系,即各个数据源之间的关系,也是mashup逻辑模型
  • RDF: 将所有的数据源都转换成RDF格式,然后输入到Jena引擎进行处理
  • GRDDL:将XML转换成RDF的工具
  • D2RQ: 将数据库转换成RDF的工具
  • Jena: 一个开源的用于开发语义网络应用的Java 开发框架,将统一成RDF格式的数据mashup在一起。内容包括:
    • RDF数据的存储
    • OWL推理
  • SPARQL: 统一成RDF格式的数据的查询语言
  • Joseki: 为Jena设计的SPARQL服务器端
  • Jena提供的SPARQL客户端,提供RDF数据查询接口
  • Exhibit: Javascript库,是一个结构化数据的展现工具

阅读材料