我已经定义了一个书籍类的RDF。 另一个RDF类描述人。 书类包含链接预定情况下,人的实例authoredBy场。
本书的性质
Book -Id -name -authoredBy
Person -id -firstName -LastName -designation
对于检索书的属性,我用下面的SPARQL查询
DESCRIBE书WHERE {预定RDF:图书;?
}
我能够检索所有属于使用DESCRIBE即谓语,主体与客体,以预订的属性。 然而,当涉及到authoredBy场,上面的查询返回我只是笔者的URI。
我希望看到的是属于创作以及所有谓词(即它的名字,姓氏)。 可以在上述DESCRIBE查询进行修改,以实现这一目标?
所有属性属于预订使用DESCRIBE
属性不“属于”的事情。 OWL是不是一个面向对象的编程语言。
但是,你当然可以得到的书和其作者的属性和值。 一个描述查询的特定结果的实现依赖。 即使您正在使用的实现为您提供了一定的成绩,但也不能保证,其他的实现会给你的。 它的安全使用构造查询。 对你来说,这听起来像你想
construct where {
?book a ex:Book ;
?p ?o ;
ex:authoredBy* ?author .
?author ?ap ?ao .
}
这将返回所有所有的书和其作者的三元组的图形。
我用下面的SPARQL查询
DESCRIBE ?book WHERE { ?book a rdf:Book ; }
需要注意的是,你真的不应该定义你自己的条件在RDF命名空间(例如,你有RDF:书 )。 你应该使用一些其他的命名空间为自己的类。