我是一名初学者,正在编写一个RDF模式,并想知道如何良好地使用URI概念并创建一个简单感兴趣的RDF文档。我正在尝试创建以下RDF语句 -如何编码一个简单感兴趣的RDF/XML
Jeffy is a Graduate student
Jeffy likes yoga
Jeffy is seeking Tennis.
我应该如何根据这三个句子编写RDF。任何灯光都会对你有所帮助。
我是一名初学者,正在编写一个RDF模式,并想知道如何良好地使用URI概念并创建一个简单感兴趣的RDF文档。我正在尝试创建以下RDF语句 -如何编码一个简单感兴趣的RDF/XML
Jeffy is a Graduate student
Jeffy likes yoga
Jeffy is seeking Tennis.
我应该如何根据这三个句子编写RDF。任何灯光都会对你有所帮助。
你可以使用OWL而不是径向分布函数,因为:
1)它是径向分布函数
的一个超集2)它是更强大的
例如:
<?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#" >
<!ENTITY base "http://www.example.com/example/" >
]>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:base="http://www.example.com/example/"
>
<owl:Class rdf:about="#GraduateStudent" />
<owl:DatatypeProperty rdf:about="&base;Likes">
<rdfs:domain rdf:resource="&base;GraduateStudent" />
<rdfs:range rdf:resource="string" />
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="&base;IsSeeking">
<rdfs:domain rdf:resource="&base;GraduateStudent" />
<rdfs:range rdf:resource="string" />
</owl:DatatypeProperty>
<base:GraduateStudent rdf:about="&base;GraduateStudent/001">
<base:Likes>yoga</base:Likes>
<base:IsSeeking>Tennis</base:IsSeeking>
</base:GraduateStudent>
</rdf:RDF>
你可以注意到,模型和数据在同一个文件中。
3 importants特征:
1)类别:声明类
2)DatatypeProperty属性:声明文字属性
3)OBJECTPROPERTY(未在这里):声明一个链接到另一个节点语义图
在你的情况下,你可以创建一个“体育”类,通过ObjectProperty改变DatatypeProperty, 更新范围并创建2个运动的实例。
我可以推荐你不使用RDF/XML吗?手动学习是一种非常复杂的语法格式。你最好写你的RDF使用类似Turtle语法,在这种情况下,你的例子是这样的:
@prefix my: <http://example.org/mynamespace/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
my:jeffy rdf:type my:GraduateStudent ;
my:likes my:yoga ;
my:isSeeking my:Tennis .
如果必须RDF/XML的某种原因,可以考虑使用任何RDF分析器工具包(OpenRDF Sesame,Apache Jena,dotNetRDF等)从一种语法转换为另一种语法。
FOAF:
你可以使用foaf:Person为 “杰菲”(。你可以用foaf:name RESP foaf:givenName RESP foaf:nick有的名称)。
您可以使用foaf:interest来获得瑜伽的兴趣(但您必须使用代表“瑜伽”的foaf:Document;请参阅foaf:isPrimaryTopicOf)。 或者您可以使用foaf:topic_interest(范围是owl:Thing
)。
作为一名研究生,可以(或许!)模仿foaf:Group。
查看example in Wikipedia,它在Turtle序列化中。
谢谢Galaad,如果我可以使用功能的朋友(FOAF),你能清除我吗? – AKIWEB 2012-08-15 02:27:34
虽然你当然是正确的,OWL比RDFS更具表现力,但我只想指出,你给出的实际示例中没有任何内容需要OWL的表达能力(在RDFS中唯一不能表达的唯一东西就是差异在一个DatatypeProperty和一个ObjectProperty之间,但是这个区别是否必要是值得怀疑的)。 – 2012-08-15 02:28:52