OWL基础
OWL基础
网络本体语言Web Ontologoy Language
OWL Lite -> OWL DL -> OWL Full 递进关系
基本元素
-
类(Class)
任何东西都是类owl:Thing 的一个成员(实例);子类:Subclass;相等关系:equivalentClass
-
个体(Individual)
与实例的概念差不多
一个个体可以属于多个类(没有指名是哪个类)
某个类的实例(指名了类)
子类与个体是不同的东西
-
属性(Property)
一个二元关系,OWL中包括两种属性:
- 类型属性(datatype properties):描述类与其实例之间关系的属性。
- 对象属性(object properties):描述两个不同类的实例之间关系的属性。
属性有两个端点:起点和终点,都应该是两个个体(实例)
用原集(domain)起点的实例的类,用象集(range)描述终点的实例的类.
属性也有子属性(Subproperty)
公理和约束
rdf资源描述框架(Resource Description Framework)
W3C提出的一组标记语言的技术规范,是一种数据模型,rdf数据集的序列化方法
OWL是由DAML(DARPA Agent Markup Language)+OIL(Ontology Inference Layer)演变而来。
OWL是RDF的扩张,为我们提供了更广泛的定义RDFS词汇的功能,更广泛意指可以定义词汇之间的关系,类与类间的关系,属性与属性之间的关系等
foaf(Friend-of-a-Friend)是一种XML/RDF词汇表,不管通过那种那种方法表示数据资源,都要指定词汇表
-
RDF/XML
XML的技术程序;格式太冗长,不便于阅读
-
三元组表示;开放领域知识图谱DBpedia通常使用这种格式发布数据.
-
使用最多的一种RDF序列化方法,比RDF/XML紧凑,可读性比N-Triples好
-
RDFa
The Resource Description Framework in Attributes,HTML5的一个扩展,不改变任何显示效果的情况下,然网站更容易被搜索引擎解析
-
JSON-LD
JSON for Linking Data,用键值对的方法来存储RDF
RDF/XML
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:company>CBS Records</cd:company>
<cd:price>9.90</cd:price>
<cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>
RDF 文档的第一行是 XML 声明。这个 XML 声明之后是 RDF 文档的根元素:。
xmlns:rdf 命名空间,规定了带有前缀 rdf 的元素来自命名空间 "http://www.w3.org/1999/02/22-rdf-syntax-ns#"。
xmlns:cd 命名空间,规定了带有前缀 cd 的元素来自命名空间 "http://www.recshop.fake/cd#"。
元素包含了对被 rdf:about 属性标识的资源的描述。
元素:、、 等是此资源的属性。
Turtle序列化方法总结
-
URI用 <> 描述
<http://example.org/path/> <http://example.org/path/#fragment>
-
前缀缩写(类似于RDF/XML的命名空间)
@prefix foo:<http://example.org/ns#> @prefix : <http://example.org/ns1#> :a :b :c
-
字面量
一行或者多行,
@en
限定其语言,^^xsd:decimal
限定其数据类型"string" """ many lines of string many lines of string many lines of string """ "chat"@en "chat"@fr "10"^^xsd:decimal
-
空节点(RDF模型可能会存在未命名的空节点)
_:me
,_a1234
分别代表一个空节点_:me _:a1234
-
base URI
base URI定义后,接下来的URI, 前缀缩写,qualified names 和base URI都要受其作用
# this is a complete turtle document @base <http://example.org/ns/> . # base URIs 是 http://example.org/ns/ @base <foo/> . # base URI 是 http://example.org/ns/foo/ @prefix : <bar#> . :a4 :b4 :c4.
-
对三元组进行缩写
:a :b :c, :d. #the last triple is :a :b :d.
-
一个简单的完整turtle标准文件
@prefix info: <http://zy.example.com/info#>
@prefix rel: <http://zy.example.com/rel#>
@prefix person: <http://zy.example.com/person#>
person:Tom info:name "Tom";
info:job "worker";
info:age 56;
rel:fatherof person:Jim.
person:Jim info:name "Jim";
info:job "programmer";
info:age 28;
rel:fatherof person:Cherry.
person:Cherry info:name "Cherry";
info:age 8;
.