如何使用CIDOC CRM格式生成RDF文件

时间:2014-08-13 08:25:51

标签: java ios jena semantic-web ontology

我是语义网开发的新手,目前我正在开发一个博物馆应用程序,我必须创建一个我的表的rdf文件来搜索记录,很少有参数将从IOS应用程序传递,它将从rdf中找到一条记录文件,并将以json格式提供输出。我发现博物馆有一种特殊的本体/格式称为CIDOC-CRM。

我的问题是,如何使用CIDOC CRM格式生成RDF文件?

2 个答案:

答案 0 :(得分:1)

CIDOC CRM的reference documentation表示数据模型存在现有的RDF和/或OWL表示。 official releases页面包含用于下载数据模型的RDF表示的链接。截至目前,version 5.1是最新的下载版本。

从无创建图

因为您有现有的数据模型和词汇表,所以"如何使用CIDOC CRM格式生成RDF文件的问题"相当于"如何使用CIDOC提供的数据模型和词汇生成RDF文件"。这是一个非常常见的问题,实际上很容易。

  1. 创建一个apache jena模型。
  2. 在其中写入与CIDOC中图表的布局方式相对应的语句
  3. 第二步需要:

    1. 阅读文档以了解您将要创建的图表
    2. 查看词汇表的RDF表示以理解您将使用的术语
    3. 从数据库创建图表

      如果您已经有一个包含此信息的(关系型)数据库,那么它可能是从表名到词汇表术语的相当简单的翻译。这将涉及执行select查询(例如使用JDBC),然后根据结果将语句写入jena Model

      将图表表示为JSON

      RDF有一个json序列化格式JSON-LD,如果需要,可以用write your output

答案 1 :(得分:0)

我做了一个修正,我能够以JSON-LD格式序列化一个文件。这是一个代码

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:crm="http://www.cidoc-crm.org/rdfs/cidoc_crm_v5.0.4_official_release.rdfs#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" > 

<crm:P102_has_title>Nativity</crm:P102_has_title>

<crm:P91_has_unit>25.6 h x 19.6 w cm</crm:P91_has_unit>

<crm:P7_took_place_at>4f</crm:P7_took_place_at>

<crm:P33_used_specific_technique>Printed Image</crm:P33_used_specific_technique>

<crm:P33_used_specific_technique>Pencil</crm:P33_used_specific_technique>

<crm:P41i_was_classified_by>Moderns</crm:P41i_was_classified_by>


<crm:P2_has_type>Painting</crm:P2_has_type>

<crm:P4_has_time-span>1933</crm:P4_has_time-span>

<crm:P52_has_current_owner>Rex WOOD</crm:P52_has_current_owner>

现在我的问题是如何才能获取一条记录,因为我将从IOS应用程序传递参数,该参数可能是P52_has_current_owner或P2_has_type或P4_has_time-span

我读取rdf的代码是这样的。

FileManager.get()addLocatorClassLoader(test.class.getClassLoader());

      Model model=FileManager.get().loadModel("H:/EclipseWorkplace/MuseumDatabaseRecommendation/src/data3.rdf");

      model.write(System.out,"JSON-LD");