第一步 配置D2RQ环境

时间:2023-03-09 05:50:22
第一步 配置D2RQ环境
​第一步 配置D2RQ环境 Getting Started
2013年10月15日 15:16:55
老套路,还是先配置环境,没查到什么中文资料,写在这里,供大家参考。有需要交流的可以加QQ: 1q7q1q5q3q6q0q1q8(去掉中间的q)。

Quick start #

准备:
  • 配置java1.5及以上的JDK。
  • 可用的数据库,Oracle, SQL Server, PostgreSQL, MySQL or HSQLDB,都可以。
  • 可选)J2EE servlet容器,D2R即可以作为一个独立的Web服务器运行,也可以在其他现有的servlet容器内运行。
需要做的:
  1. 下载D2RQ包,放到合适的位置。
  2. 下载相应的JDBC,把JAR文件放在D2R Server的/lib目录下。Sun公司提供了一系列JDBC的下载,注意驱动的名字(e.g. org.postgresql.Driver for PostgreSQL or oracle.jdbc.driver.OracleDriver for Oracle),以及JDBC的URL(e.g. jdbc:mysql://servername/database for MySQL),这些在驱动的文件中可以找到。D2R Server中已经包括了MySQL和PostgreSQL。
  3. 使用“创建映射”这个工具,创建一个映射文件,在D2R Server目录下运行:
    generate-mapping -o mapping.ttl -d driver.class.name
        -u db-user -p db-password jdbc:url:...

    其中,mapping.ttl是新建的映射文件,-d可以为MySQL跳过。

    我运行了以下命令:
    ./generate-mapping -o aniuer.ttl -d com.mysql.jdbc.Driver -u root -p asdfasdf jdbc:mysql://localhost/radar
    结果提示有警告,即我的表中没有设定主键。
  4. 启动D2R Server。
    d2r-server mapping.ttl
    我运行了以下命令:
    d2r-server aniuer.ttl
  5. 测试服务器,用浏览器打开 http://localhost:2020/。出现了预期的界面。第一步 配置D2RQ环境
    可以浏览数据库的内容(真的可以),或者使用SPARQL浏览器执行查询,并可以通过几种格式来显示结果。
  6. 在命令行下使用d2r-query工具执行SPARQL查询
    d2r-query mapping.ttl "SELECT * { ?s ?p ?o } LIMIT 10"
    我运行了以下命令:
    ./d2r-query aniuer.ttl "SELECT * { ?s ?p ?o } LIMIT 10"

    结果为:
    第一步 配置D2RQ环境 
    或者从文件中加载查询信息,假设这里有一个query.sqarql的文件(这个先不测试了)

    d2r-query mapping.ttl @query.sparql
  7. 运行dump-rdf工具(rdf转存工具)创建rdf的转存。
    dump-rdf mapping.ttl -o dump.nt
    我运行了以下命令:(加上-o的话会报错:Too many arguments)
    ./dump-rdf aniuer.ttl

Customizing the D2RQ mapping #

当你能够正常运行之后,下一步通常就是通过自定义D2RQ映射,来改进RDF的输出。
D2RQ平台使用D2RQ Mapping Language把关系数据库的内容映射为RDF数据。一个D2RQ映射指定资源如何被识别和使用哪些属性来描述资源。
generate-mapping脚本从数据库的表结构中自动创建D2RQ映射。这个工具为每一个数据库创建一个新的RDF词汇表,把表名作为类名,把列名作为属性名。如果你自定义映射并把自动生成的术语更换为更广为RDF词汇表接受的术语,那么语义网的客户端应用就会更好地理解你的数据。
映射文件可以被任何文本编辑器进行编辑, D2RQ language specification中描述了它的语法。
D2R Server会自动检测映射文件的改变,当你点击浏览器的刷新按钮时,就会重新立即加载。
Note: HTML和RDF浏览器接口仅适用于相对URI的模式,并且不包含#字符。例如,一个URI模式,正如entries/@@mytable.id@@是可浏览的,但http://example.com/entries#@@mytable.id@@就不行。映射生成器只生成可浏览的模式。不可浏览的模型只能在SPARQL接口和RDF转换中使用。