首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKOS (语义网)的Haskell数据结构

SKOS (语义网)的Haskell数据结构
EN

Stack Overflow用户
提问于 2011-11-07 04:27:00
回答 1查看 672关注 0票数 4

Introduction

我正在用haskell编写一个语义web应用程序。

使用hsparql http://hackage.haskell.org/package/hsparql,我可以访问我的Tripple商店。目前我使用http://4store.org/ (主要是因为它易于安装)。我使用snap http://snapframework.com/进行servlet编程(Yesod也非常酷!!)

目前,我使用SKOS来表示RDF中的书签类别。

SKOS上的链接:

  • http://www.w3.org/TR/skos-reference/
  • http://www.athenaeurope.org/athenawiki/index.php/SKOS

基本上,目的概念是一个范畴。它有一个URL (作为一种ID)和一个标签。进一步的目的概念可以有子概念,定义为“更广泛”和“更窄”。

例如,在我的书签中,有一个SKOS概念“所有书签”,还有一个子概念"haskell书签“。这两个概念都有一个URL (例如ID)和一个标签。此外,"haskell书签“有一个关系,更广泛的概念是”所有书签“。

我的问题

我需要为SKOS在haskell的数据结构。

我现在的一个是:

代码语言:javascript
复制
-- Type Aliases.

type Url = String
type Label = String


-- Date Structure.

data SkosConcept = SkosConcept {
      url :: Url
    , label :: Label
    , subConcepts :: [SkosConcept]
    } deriving (Show)

我觉得这不是个好办法,但我不知道更好的方法。

此外,在未来的数据结构需要扩展到多个标签,和手段存储相关的概念,

此外,有些概念可能没有任何子概念。

任何关于如何改进数据结构或“正确做好”的指示?

=====编辑:======

问题是,一个skos概念可能有多个更广泛的skos概念。因此,我的"haskell书签“可以有两个更广泛的skos概念(例如类别),称为”编程书签“和”我的重要书签“。

我目前唯一能想到的解决办法是使用:

  • 是skos概念的“更广泛”关系的有向图
  • 二进制关系“更广”(但我不知道是否有良好的haskell支持)
  • 没有中间数据结构,我的所有函数都查询RDF Tripple Store
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-22 00:18:23

与其直接存储双向结构,不如使用标准图方法,并存储包含概念集和概念之间关系集的元组?

cf:http://hackage.haskell.org/package/fgl

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8032731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档