1
75
显而易见的第一步是查看数据中存在的类和属性。 以下是如何查看正在使用的类:
(
第二,你想看看这些属性。您可以通过使用已经搜索过的类或只是查找属性来实现这一点。让我们把所有的财产从商店里拿出来:
这将得到您可能不感兴趣的所有属性。这相当于SQL中所有行列的列表,但不按表分组。 更有用的是查看声明特定类的实例正在使用哪些属性:
这将使您返回满足前三个条件的任何实例上使用的属性,即
记住,因为一个rdf:resource可以有多个rdf:type属性(如果愿意的话,可以是类),而且因为rdf的数据模型是可加的,所以没有菱形问题。这种类型只是另一种属性——说有些东西是人、狗、基因或足球队,这只是一种有用的社会协议。这并不意味着数据存储将包含通常与该类型关联的属性。在资源可能具有的属性方面,类型不保证任何内容。 您需要熟悉数据模型以及SPARQL联合和可选语法的使用。RDF:type到SQL表的粗略映射就是这样的-粗略的。
您可能想知道属性指向的是哪种实体。首先,您可能想知道数据类型属性-相当于文本或原语。您知道,字符串、整数等。RDF将这些文本定义为所有从字符串继承的文本。我们可以使用SPARQL过滤方法过滤掉那些文本属性。
我们在这里只会得到作为其对象的属性——字符串、日期时间、布尔值或其他XSD数据类型之一。 但是非文字对象呢?把这个非常简单的伪Java类定义当作一个类比:
使用上面的查询,如果Age属性被绑定,我们将返回表示Age的文本。但marriedto并不是一个原语(即RDF术语中的文字),它是对另一个对象的引用,在RDF/OWL术语中,它是一个对象属性。但是我们不知道这些属性(谓词)所引用的对象是什么类型的。此查询将返回带有附带类型(其类
这应该足以在特定的数据集中确定您自己的方向。当然,我也建议你拿出一些个人资源来检查一下。您可以使用描述查询:
有一些SPARQL工具- SNORQL 例如,它允许您在浏览器中执行此操作。我链接到的Snorql实例有一个用于探索可能命名图的示例查询,我在这里没有介绍。 如果您不熟悉SPARQL,老实说,如果您陷入困境,最好的资源就是规范。这是一个W3C规范,但非常好(他们构建了一个很好的测试套件,这样您就可以实际查看实现是否正确地完成了它),而且如果您能够克服复杂的语言,它将非常有用。 |
2
7
我发现以下一组探索性查询很有用: 观看课程:
查看属性:
查看数据属性:
查看实际使用的属性:
查看断言的实体:
查看使用中的不同图形:
|
3
2
|
4
1
我经常提到这个 list of queries from the voiD project . 它们主要是统计性质的,但不仅如此。从一些语句中删除计数以获取实际值应该不难。 |
dimid · 如何创建本地Wikidata查询服务? 7 年前 |
Sara Lafia · 来自Docker的Apache旱獭进口商 7 年前 |
Anjan Kaur · 如何在JSON-LD中表示备选方案集合 7 年前 |
Richy · 将描述逻辑应用于模型 8 年前 |
Ibrahim A · 使用Jung移除RDF图形死区 8 年前 |