我是编写RDF模式的初学者,并且想知道我应该如何充分利用URI概念并创建一个简单感兴趣的RDF文档。我正在尝试创建以下语句的RDF -
Jeffy is a Graduate student
Jeffy likes yoga
Jeffy is seeking Tennis.
我应该如何根据这三个句子编写RDF。 对此的任何启示都会非常有用。
答案 0 :(得分:6)
我可以建议您不要使用RDF / XML吗?学习手工编写是一种非常复杂的语法格式。你最好使用类似Turtle语法的东西编写你的RDF,在这种情况下你的例子会是这样的:
@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等)从一种语法转换为另一种语法。
答案 1 :(得分:3)
您可以使用OWL而不是RDF,因为:
1)它是RDF的超集
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个重要特征:
1)类:声明一个类
2)DatatypeProperty:声明文字属性
3)ObjectProperty(不在这里):声明指向语义图的另一个节点的链接
在您的情况下,您可以创建一个“Sport”类,通过ObjectProperty更改DatatypeProperty, 更新范围并创建2项运动的实例。
答案 2 :(得分:2)
<强> FOAF 强>:
您可以使用foaf:Person来表达&#34; Jeffy&#34; (您可以使用foaf:name resp。foaf:givenName和foaf:nick分配名称。
您可以使用foaf:interest来表达对瑜伽的兴趣(您必须使用代表&#34; yoga&#34;的foaf:Document,但请参阅foaf:isPrimaryTopicOf)。
或者您可以使用foaf:topic_interest(范围为owl:Thing
)。
作为研究生,可以(可能!)用foaf:Group建模。
请参阅Turtle序列化中的example in Wikipedia。