如何在OWL中组合数据属性?

时间:2012-12-21 04:53:00

标签: rdf owl semweb

说我有:

  • Property1是可选的
  • 始终定义的Property2

我想定义的TrueProperty等于:

  1. 如果Property1存在,则为Property1
  2. Property2否则
  3. Property2否则

    我能这样做吗?我可以在OWL中做到吗?

    谢谢

1 个答案:

答案 0 :(得分:4)

你不能在OWL中这样做。 OWL并不是要谈论所写的内容,而是谈论世界的真实事物。未在数据集中明确显示的事实可能属实。如果您向我发送简历而您没有提及您的街道地址,我可以断定您无家可归吗?

但是,有几种方法可以做你想做的事情,没有OWL。带有FILTER的SPARQL CONSTRUCT查询,如果可以为Property1推断某个值,请求推理器,如果没有,则以编程方式添加Property2。例如:

CONSTRUCT { ?s  <TruProperty>  ?o }
WHERE {
    { ?s  <Property1>  ?o }
   UNION
    { ?s  <Property2>  ?o
      FILTER NOT EXISTS { ?s  <Property1>  ?o }
    }
}