我有一些层次结构,我需要用owl语法编写它们。这里所有的对象都是类而不是个体。
每个层次结构中的类之间的关系是相同的。例如,“Relates”是一个层次结构中所有类之间的关系。
我应该如何定义这些关系?我知道object属性,但我需要类似subclassof
relation,这是树(protege)中所有类之间的关系。
<?xml version="1.0"?>
<rdf:RDF
xmlns="http://example.org/1#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://example.org/1">
<owl:Ontology rdf:about="">
<owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Created with TopBraid Composer</owl:versionInfo>
</owl:Ontology>
<owl:Class rdf:ID="a">
<haspart>
<owl:Class rdf:ID="b"/>
</haspart>
</owl:Class>
<rdf:Property rdf:ID="haspart">
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Property>
</rdf:RDF>
这些是错误
非类型化对象属性:http://example.org/1#HasPart非类型化类:http://www.w3.org/2000/01/rdf-schema#class
问题出在haspart
关系的定义上。要消除您提到的两个错误,首先应该将它定义为owl:objectproperty
而不是rdf:property
,其次,域和范围应该指向http://www.w3.org/2002/07/owl#class
,而不是http://www.w3.org/2000/01/rdf-schema#class
。
但是请注意注释中的建议:不要手工编写RDF/XML语法。这是学习如何使用OWL的最糟糕的方法。
FWIW,以下是Turtle中的本体论(带有更正):
@prefix : <http://example.org/1#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
[] a owl:Ontology ;
owl:versionInfo "Created with TopBraid Composer"^^xsd:string .
:a a owl:Class ;
:hasPart :b .
:b a owl:Class .
:hasPart a owl:ObjectProperty ;
rdfs:domain owl:Class ;
rdfs:range owl:Class .
我正在用python编写一个CSV文件,使用以下行: 不幸的是,输出显示了一个无用的列,如下所示: 如何才能摆脱这个无用的第一纵队?
我存储用户收藏夹到json文件,但我得到以下错误: 未处理的异常:类型“\u InternalLinkedHashMap” 我将以下数据添加到文件中: 代码是: 我很困惑,不知道如何解决这个问题。
问题内容: 我一直在尝试找到一种使用Node.js时写入文件的方法,但是没有成功。我怎样才能做到这一点? 问题答案: 文件系统API中有很多详细信息。最常见的方法是:
我试图在Android模拟器中编写一个apk到/system/app location。下面是我的代码: 我的AndroidManifest.xml: 然而,我收到了以下错误消息: java.io.FileNotFoundException:/system/mainapp-debug.apk(只读文件系统)06-08 08:51:59.858 292 1-3160/com.mainapp w/sy
问题内容: 我已经习惯了 但是,似乎已经弃用了。推荐使用哪种方法进行上述操作? 更新:关于…的所有这些答案,”\n”这是通用的还是特定于的?IE,我应该上运行吗? 问题答案: 这应该很简单: 从文档: 写入以文本模式打开的文件时(默认),请勿用作行终止符;在所有平台上都使用一个’\ n’代替。 一些有用的读物: with声明 open() ‘a’用于追加或使用 ‘w’截断书写 os(特别是os
问题内容: 我一直在尝试找到一种使用Node.js时写入文件的方法,但是没有成功。我怎样才能做到这一点? 问题答案: 文件系统API中有很多详细信息。最常见的方法是: