在Protege中使用RDF/XML格式创建的Ontology文件是RDF文件还是OWL文件?

Gau*_*rav 5 rdf owl ontology protege

我在Protege中创建了本体文件并将其保存为RDF/XML格式.它还包含OWL标记.

因此,Protege创建并保存为RDF/XML格式的本体文件实际上是RDF文件或OWL文件的RDF格式或包含RDF的OWL格式还是其他什么?

<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>

<rdf:RDF xmlns="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#"
     xml:base="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <owl:Ontology rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13"/> 
    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Classes
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->
    <!-- http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#Student -->
    **<owl:Class rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#Student"/>**  
  <!-- http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#University -->

    **<owl:Class rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#University"/>
</rdf:RDF>**
<!-- Generated by the OWL API (version 3.4.2) http://owlapi.sourceforge.net -->
Run Code Online (Sandbox Code Playgroud)

Jos*_*lor 13

它是您的OWL本体的RDF映射的RDF/XML序列化.

OWL本体论是一组公理.它可以通过多种方式直接序列化:曼彻斯特语法,OWL/XML标准和功能语法都是选项.OWL本体也可以映射到一组RDF三元组,如OWL 2 Web Ontology Language Mapping to RDF Graphs(Second Edition)中所述.现在,RDF也可以以多种不同的格式进行序列化,例如RDF/XML,Turtle,N3和N-Triples.

因此,您已经获得了OWL本体的RDF映射的RDF/XML序列化.所以它一个RDF文件,因为它是RDF图的序列化.将它称为OWL文件也是有意义的,因为它是一个OWL本体.实际上,您在网上找到的许多OWL文件都是OWL本体的RDF映射的RDF/XML序列化.

例子

您的OWL本体可以通过多种方式编写.例如,在函数语法中:

Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)
Prefix(owl:=<http://www.w3.org/2002/07/owl#>)
Prefix(:=<http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#>)
Prefix(xml:=<http://www.w3.org/XML/1998/namespace>)
Prefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)

Ontology(<http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13>

Declaration(Class(:Student))
Declaration(Class(:University))
)
Run Code Online (Sandbox Code Playgroud)

在OWL/XML序列化中:

<?xml version="1.0"?>
<!DOCTYPE Ontology [
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY xml "http://www.w3.org/XML/1998/namespace" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>
<Ontology xmlns="http://www.w3.org/2002/07/owl#"
     xml:base="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:xml="http://www.w3.org/XML/1998/namespace"
     ontologyIRI="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13">
    <Prefix name="xsd" IRI="http://www.w3.org/2001/XMLSchema#"/>
    <Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/>
    <Prefix name="" IRI="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#"/>
    <Prefix name="rdf" IRI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
    <Prefix name="rdfs" IRI="http://www.w3.org/2000/01/rdf-schema#"/>
    <Declaration>
        <Class IRI="#Student"/>
    </Declaration>
    <Declaration>
        <Class IRI="#University"/>
    </Declaration>
</Ontology>
<!-- Generated by the OWL API (version 3.2.5.1912) http://owlapi.sourceforge.net -->
Run Code Online (Sandbox Code Playgroud)

这些都是不同的序列化的的相同的 OWL本体.因为它们是OWL本体的序列化,所以将它们称为OWL文件是有意义的.

序列化OWL本体的另一种方法是RDF图.RDF图是一个抽象的东西; 它只是一组三元组. OWL 2 Web本体语言映射到RDF图(第二版)描述了OWL本体的RDF映射.因此,从OWL本体,您可以生成一组RDF三元组,即RDF图.不过,RDF图也可以用多种不同的格式编写.这是在几个不同的RDF序列化中用于OWL本体的RDF图.以下所有内容都是相同的 RDF图.所有这些都是RDF序列化,调用它们RDF文件是有意义的.由于它们是OWL本体的RDF编码,因此将它们称为OWL文件也是有意义的.

在Turtle RDF序列化中:

@prefix :      <http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

<http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13>
        a       owl:Ontology .

:University  a  owl:Class .

:Student  a     owl:Class .
Run Code Online (Sandbox Code Playgroud)

在N-Triples序列化中(每行一个三元组):

<http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Ontology> .
<http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#University> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> .
<http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#Student> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> .
Run Code Online (Sandbox Code Playgroud)

在没有"快捷方式"的RDF/XML中:

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#" > 
  <rdf:Description rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Ontology"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#University">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#Student">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
  </rdf:Description>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

在RDF/XML中使用一些快捷方式:

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
  <owl:Ontology rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13"/>
  <owl:Class rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#University"/>
  <owl:Class rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#Student"/>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

  • 是的,所有工具都应该支持它.RDF/XML是一种非常复杂的语法,并且(在我看来)它只是常见的,因为它是唯一需要支持工具的格式,并且因为在发明RDF时已经有很多XML处理工具.但是看看*RDF/XML中的*相同*RDF图是如何用一种方式用`rdf:Description`元素编写的,另一种用`owl:Ontology`和`owl:Class`元素编写的?它使人们感到困惑,即使它是*相同的*图表.您应该将RDF视为三元组的*集*,而不必担心特定的序列化格式. (3认同)
  • OWL 本体是一种事物。您可以用多种方式来表示它。其中一种方法是一组 RDF 三元组。但编写 RDF 三元组的方法也有很多。因此,您已经采用了 OWL 本体,并将其表示为一组 RDF 三元组。然后,您获取 RDF 三元组集并使用 RDF/XML 序列化来编写它。 (2认同)