是否可以在RDF中指定Type to collection属性

Ami*_*eli 0 rdf owl

在RDF中指定模式时,如何指定集合的​​类型?例如,我有一个名为的房产hobbies.可以有不止一个hobbies.还要求列表中的每个成员必须是类的实例Hobby.虽然我可以指定类似的东西 -

myschema:hobbies 
  a            rdf:Property;
  rdfs:domain  myschema:Student;
  rdfs:range   rdf:bag 
  .
Run Code Online (Sandbox Code Playgroud)

如何指定此集合中的每个成员必须是类型myschema:Hobby

提前致谢!

Ant*_*ann 5

如何指定此集合中的每个成员必须是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
  ] .
Run Code Online (Sandbox Code Playgroud)

然而,这不在OWL DL中.为什么你需要hobbies与一个rdf:Bag?除了非常特殊和罕见的情况之外,简单地拥有一个与成员直接相关的属性几乎总是更好:

myschema:hobby
  a  rdf:Property;
  rdfs:range  myschema:Hobby .
Run Code Online (Sandbox Code Playgroud)

然后你仍然可以将一件事情与这样的一系列爱好联系起来:

_:something  myschema:hobby  :hobby1, :hobby2, :hobby3 .
Run Code Online (Sandbox Code Playgroud)

事实上,您所询问的问题可能只是您选择错误设计时遇到的新问题.你想达到什么目的?