【问题标题】:Storing all data of a website on Apache Jena as RDF?在 Apache Jena 上将网站的所有数据存储为 RDF?
【发布时间】:2015-12-10 08:43:22
【问题描述】:

我正在尝试建立一个基于语义技术的网站。它是一个 CMS,为了简单起见,可以说它是一个博客。我需要能够进行简单的 CRUD 操作。所有数据都将保存在 Jena 上,例如博客文章、用户信息、博客类别等。

我有一个 php 系统。这是我打算遵循的路径:

  1. 使用 Apache Jena 作为 RDF 存储
  2. 使用 Apache Jena 存储和检索数据。
  3. 在java上写一个web服务
  4. 通过 Web 服务与 PHP 以 JSON 格式进行通信,以查看、控制数据。

我的主要工作是建立一个基于语义技术的网站。 我的方法有什么问题吗?

如果不是主要问题是当用户发表博客文章时,我将如何创建与博客文章和用户的关系。 使用 mysql 它只是一个外国密钥。如何在 Jena 上建立新博文和现有用户之间的关系?

【问题讨论】:

    标签: java php rdf jena semantic-web


    【解决方案1】:

    我看不出你的方法有什么问题。也许我会建议使用 JSON-LD 作为交换格式,因为 Jena 可以直接读取和写入它,而不必创建自己的 RDF 转换器(参见 https://jena.apache.org/documentation/io/)。

    关于建模问题,我强烈建议您查看 SIOC 词汇表 (http://rdfs.org/sioc/spec/),它旨在准确地表示您正在寻找的内容等等。

    【讨论】:

    • 您好,感谢您的评论。 SIOC 词汇表非常适合我的应用程序,我将使用它。我仍然不明白如何与新博客文章和现有用户建立关系。我通常会从会话信息中发送用户 ID,但无法弄清楚这一点。也许我需要一些图形数据库知识?
    • 您需要查看 RDF 基础知识:code.google.com/p/tdwg-rdf/wiki/Beginners3RDFbasics。然后,您将需要使用 URI 来识别博客、用户并使用 SIOC 词汇表对它们之间的关系进行建模
    【解决方案2】:

    另一个核心解决方案是使用 RDF(以 RDF/XML 序列化)创建网站页面,并使用 XSL 为每个页面按需生成 HTML 版本。这实际上取决于您网站的大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 2013-06-21
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      相关资源
      最近更新 更多