在RDF中指定模式时,如何指定集合的类型?例如,我有一个名为的房产hobbies
.可以有不止一个hobbies
.还要求列表中的每个成员必须是类的实例Hobby
.虽然我可以指定类似的东西 -
myschema:hobbies a rdf:Property; rdfs:domain myschema:Student; rdfs:range rdf:bag .
如何指定此集合中的每个成员必须是类型myschema:Hobby
?
提前致谢!
如何指定此集合中的每个成员必须是myschema类型:Hobby?
仅使用RDF/RDFS,您就不能.例如,您可以使用OWL执行此操作:
myschema:hobbies a rdf:Property; rdfs:range rdf:Bag, [ a owl:Restriction; owl:onProperty rdfs:member; owl:allValuesFrom myschema:Hobby ] .
然而,这不在OWL DL中.为什么你需要hobbies
与一个rdf:Bag
?除了非常特殊和罕见的情况之外,简单地拥有一个与成员直接相关的属性几乎总是更好:
myschema:hobby a rdf:Property; rdfs:range myschema:Hobby .
然后你仍然可以将一件事情与这样的一系列爱好联系起来:
_:something myschema:hobby :hobby1, :hobby2, :hobby3 .
事实上,您所询问的问题可能只是您选择错误设计时遇到的新问题.你想达到什么目的?