验证一个关于rdf和rdfs如何关联的例子?
verify an example about how the rdf and rdfs related?
有类似的问答。但是,前面的none给出了例子。
这是rdfs代码。
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base= "localhost:3000/animal#">
<rdfs:Class rdf:ID="animal" />
<rdfs:Class rdf:ID="horse">
<rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>
</rdf:RDF>
它托管在 localhost:3000/animal。
这是rdf代码。
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:animal="localhost:3000/animal#">
<rdf:Description
rdf:about="http://www.recshop.fake/things">
<animal:horse>abc</animal:horse>
</rdf:Description>
</rdf:RDF>
它托管在 localhost:3000/horseinstance。
这是 rdfs 和 rdf 关联的正确方式吗?
Is this the right way how rdfs and rdf related?
这部分问题有点不清楚。 RDF是一种基于triples形式的数据表示(subject, predicate, object),其中subject是一个IRI或者空白节点,predicate是一个IRI,object是一个IRI,空白节点,或文字。 RDF标准为某些特定的IRI规定了一些特殊的含义,但这是大家一致同意让它们表示的含义。 RDFS 是 RDF 的模式语言。它只是为更多的 IRI 赋予了更多的含义,比如 rdfs:subClassOf 和 rdfs:Class.
根据您向我们展示的 RDF 片段,我认为您是在问我们,根据您展示的 RDFS,RDF 是否以适当或传统的方式使用 RDFS 模式。答案是 "not really." 如果您查看数据的三元组而不是它们的 RDF/XML 序列化,可能会更容易。 RDFS 文件有三个三元组:
<localhost:3000/animal#animal> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .
<localhost:3000/animal#horse> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .
<localhost:3000/animal#horse> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <localhost:3000/animal#animal> .
您的 RDF 文件有一个:
<http://www.recshop.fake/things> <localhost:3000/animal#horse> "abc" .
这都是合法的 RDF,因此从这个意义上说,它是 "OK",但是您的 RDFS 将 horse 和 animal 声明为class是的,那匹马是动物的子class。您现在使用 horse 作为将资源 things 与文字 "abc"[=40= 相关联的谓词].通常,您会使用已声明的 class,例如 horse,作为谓词为 [=30= 的三元组的 object ]rdf:type,表示主题是 class 的成员。例如,您可以这样说:
<http://example.org/BlackBeauty> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <localhost:3000/animal#horse> .
在 RDF/XML 中,它看起来像:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:animal="localhost:3000/animal#">
<animal:horse rdf:about="http://example.org/BlackBeauty"/>
</rdf:RDF>
或者这个(因为同一个 RDF 图可以在 RDF/XML 中以多种方式序列化):
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:animal="localhost:3000/animal#" >
<rdf:Description rdf:about="http://example.org/BlackBeauty">
<rdf:type rdf:resource="localhost:3000/animal#horse"/>
</rdf:Description>
</rdf:RDF>
有类似的问答。但是,前面的none给出了例子。
这是rdfs代码。
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base= "localhost:3000/animal#">
<rdfs:Class rdf:ID="animal" />
<rdfs:Class rdf:ID="horse">
<rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>
</rdf:RDF>
它托管在 localhost:3000/animal。
这是rdf代码。
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:animal="localhost:3000/animal#">
<rdf:Description
rdf:about="http://www.recshop.fake/things">
<animal:horse>abc</animal:horse>
</rdf:Description>
</rdf:RDF>
它托管在 localhost:3000/horseinstance。
这是 rdfs 和 rdf 关联的正确方式吗?
Is this the right way how rdfs and rdf related?
这部分问题有点不清楚。 RDF是一种基于triples形式的数据表示(subject, predicate, object),其中subject是一个IRI或者空白节点,predicate是一个IRI,object是一个IRI,空白节点,或文字。 RDF标准为某些特定的IRI规定了一些特殊的含义,但这是大家一致同意让它们表示的含义。 RDFS 是 RDF 的模式语言。它只是为更多的 IRI 赋予了更多的含义,比如 rdfs:subClassOf 和 rdfs:Class.
根据您向我们展示的 RDF 片段,我认为您是在问我们,根据您展示的 RDFS,RDF 是否以适当或传统的方式使用 RDFS 模式。答案是 "not really." 如果您查看数据的三元组而不是它们的 RDF/XML 序列化,可能会更容易。 RDFS 文件有三个三元组:
<localhost:3000/animal#animal> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .
<localhost:3000/animal#horse> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .
<localhost:3000/animal#horse> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <localhost:3000/animal#animal> .
您的 RDF 文件有一个:
<http://www.recshop.fake/things> <localhost:3000/animal#horse> "abc" .
这都是合法的 RDF,因此从这个意义上说,它是 "OK",但是您的 RDFS 将 horse 和 animal 声明为class是的,那匹马是动物的子class。您现在使用 horse 作为将资源 things 与文字 "abc"[=40= 相关联的谓词].通常,您会使用已声明的 class,例如 horse,作为谓词为 [=30= 的三元组的 object ]rdf:type,表示主题是 class 的成员。例如,您可以这样说:
<http://example.org/BlackBeauty> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <localhost:3000/animal#horse> .
在 RDF/XML 中,它看起来像:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:animal="localhost:3000/animal#">
<animal:horse rdf:about="http://example.org/BlackBeauty"/>
</rdf:RDF>
或者这个(因为同一个 RDF 图可以在 RDF/XML 中以多种方式序列化):
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:animal="localhost:3000/animal#" >
<rdf:Description rdf:about="http://example.org/BlackBeauty">
<rdf:type rdf:resource="localhost:3000/animal#horse"/>
</rdf:Description>
</rdf:RDF>