如何将4个项放入RDF三元组中?

3

我有一个表格,表示每个国家每年的难民人口。

| Country | 2000  | 2001  | 2002  | 2003  |
|---------|-------|-------|-------|-------|
| USA     | 56213 | 67216 | 67233 | 12367 |
| Chile   | 26137 | 12345 | 23345 | 21312 |

我该如何在RDF三元组中清楚地表达它是该年份的人口?我找不到任何可重用的现有词汇。我的想法是创造自己的URI,然后将本地名称命名为year2000population,然后语句将是:

dbo:USA :year2000population 56213 ;
        :year2001population 67216 .

但我不满意这个解决方案,对我来说似乎是错误的。


2
你正在寻找具象化,这意味着你可以添加有关语句的语句。这里有一个关于具象化的问题:https://dev59.com/inM_5IYBdhLWcg3wmkQK。此外,请查看我在类似问题下的示例:https://dev59.com/8sLrs4cB2Jgan1znwgsQ#28793308 - Tomasz Pluskiewicz
可能是[如何在RDF中表达关系的附加信息(时间,概率)?]的重复问题(https://dev59.com/vo_ea4cB1Zd3GeqPSLu5)。 - Jeen Broekstra
2个回答

4
你可以使用n元关系模式,这基本上意味着你为表中的每一行引入一个匿名个体,并将每个属性添加到该个体而不是强制以单个三元组格式。有关该模式的详细信息,请参见https://www.w3.org/TR/swbp-n-aryRelations/

0

这里有一个具体的例子,展示如何使用数据来实现属性重ification(类似于n元关系)。基本技术是创建一个表示归属于一起的数据的对象,然后使用对象属性引用该对象,在示例中为:popyear

:py2000USA :population 56213 ;
           :year 2000 .
:py2001USA :population 67216 ;
           :year 2001 .
:py2002USA :population 67233 ;
           :year 2002 . 
:py2003USA :population 12367 ;
           :year 2003 .
dbo:USA :popyear :py2000USA ;
        :popyear :py2001USA ;
        :popyear :py2002USA ;
        :popyear :py2003USA ;  
:py2000Chile :population 26137 ;
             :year 2000 .
:py2001Chile :population 12345 ;
             :year 2001 .
:py2002Chile :population 23345 ;
             :year 2002 . 
:py2003Chile :population 21312 ;
             :year 2003 .
dbo:Chile :popyear :py2000Chile ;
          :popyear :py2001Chile ;
          :popyear :py2002Chile ;
          :popyear :py2003Chile ;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接