我真的很喜欢 Freebase 和 World Bank 类型提供程序,我想通过自己编写一个来了解有关类型提供程序的更多信息。欧盟有一个开放数据程序,您可以在其中通过 SPARQL/链接数据访问数据。是否有可能通过类型提供程序来包装对开放欧盟数据的数据访问,或者尝试弄清楚如何去做是浪费时间?
此处描述了对欧盟数据的访问:http: //open-data.europa.eu/en/linked-data
我真的很喜欢 Freebase 和 World Bank 类型提供程序,我想通过自己编写一个来了解有关类型提供程序的更多信息。欧盟有一个开放数据程序,您可以在其中通过 SPARQL/链接数据访问数据。是否有可能通过类型提供程序来包装对开放欧盟数据的数据访问,或者尝试弄清楚如何去做是浪费时间?
此处描述了对欧盟数据的访问:http: //open-data.europa.eu/en/linked-data
我认为这当然是可能的——我与一些真正对此感兴趣的人进行了交谈(并且正在为此努力,但我不确定目前的状态是什么)。无论如何 - 我绝对认为这是一个如此广泛的领域,额外的努力不会浪费时间。
为类似 RDF 的数据编写类型提供程序的关键问题是决定将什么视为类型(什么应该成为类型名称或属性名称)以及什么应该作为值(作为列表或键返回)值对)。这对世界银行来说非常明显——国家和属性的名称变成了类型(属性名称),值变成了数据。但是对于基于三元组的数据集,这不太明显。
到目前为止,我认为有两种方法:
附加本体- 要求数据源附带一些附加本体,指定导航键是什么。http://mspace.fm上使用了一种叫做“方面本体”的东西,这可能很有趣。
参数化- 参数化类型提供者(以某种方式)并给它一个应该在类型级别可用的关系列表(你可能还需要提供一些根从哪里开始)。
肯定还有其他可能性——我认为拥有链接数据的提供者会非常有趣。如果您想为 F# Data 执行此操作,有一个关于贡献的有用页面:-)。