使用Freebase时有关实体类型的问题

问题描述 投票:0回答:1

我很困惑Freebase中的实体有多种类型,我如何知道某些子知识图中表达的类型是什么。例如,有一个子图:

['m.0f010_', 'food.dish.cuisine', 'm.042ck']
,实体
'm.042ck'
有以下类型:
['base.food_menu.regional_cuisine', 'base.food_menu.summary_cuisine', 'base.ontologies.ontology_instance', 'book.book_subject', 'business.industry', 'common.topic', 'dining.cuisine', 'organization.organization_sector']
我怎样才能知道子图中表达的是哪种类型?

我使用以下Sparql来查询实体类型,有什么方法可以做到这一点

 sql = '''PREFIX fb: <http://rdf.freebase.com/ns/> 
select  ?o1 where {
         fb:%s fb:type.object.type ?o1.
         } '''%entity
entity sparql freebase knowledge-graph
1个回答
0
投票

仅供参考,这些主题的英文标签是 Monjayaki Japanese Cuisine

除非您的子图对类型空间进行了分区,否则该实体具有“所有”列出的类型,尽管其中一些类型不会被认为是重要的。任何带有 base. 前缀的类型都属于单个用户创建的类型系统的一部分。由于它们未经社区审查/批准,因此在大多数情况下可以忽略它们。类型

common.topic
基本上被分配给所有不是内部管理实体的东西,因此没有什么价值。
请注意,Freebase 是众包的,就像维基数据一样,因此它可能代表比专业本体论更随意的世界观。此外,最终快照代表了不断发展的知识图谱的单个时间点。

在这种特殊情况下,可以说至少有两个不同的实体合并在一起:

'业务.行业'、'组织.组织_部门'
  1. '餐饮.美食'
  2. 其中任何一个都可以用作“book.book_subject”,它更多的是用法声明而不是实体类型。

在您所说的三元组的上下文中,使用谓词“food.dish.cuisine”,最相关的类型是“dining.cuisine”,因为根据此三元组,这是“预期类型”:

<http://rdf.freebase.com/ns/food.dish.cuisine> <http://rdf.freebase.com/ns/type.property.expected_type> <http://rdf.freebase.com/ns/dining.cuisine>

如果您可以回答@UninformedUser 关于子图的问题,我们也许可以提供更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.