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

Rdf 如何在OWL中组合数据属性?,rdf,owl,semweb,Rdf,Owl,Semweb,假设我有: 属性1是可选的 始终定义的属性2 我想定义TrueProperty,它等于: 如果存在属性1,则属性1 不动产2 不动产2 我可以这样做吗?我能在猫头鹰里做吗 谢谢你你不能在猫头鹰中这样做。猫头鹰的本意不是要谈论所写的东西,而是谈论世界上真实的事物。数据集中没有明确显示的事实可能是真的。如果你给我的简历中没有提到你的街道地址,我能断定你无家可归吗 然而,在没有猫头鹰的情况下,有几种方法可以做你想做的事情。一个带有过滤器的SPARQL构造查询,如果可以推断Property1的某些值

假设我有:

  • 属性1是可选的
  • 始终定义的属性2
我想定义TrueProperty,它等于:

  • 如果存在属性1,则属性1
  • 不动产2
  • 不动产2

    我可以这样做吗?我能在猫头鹰里做吗


    谢谢你

    你不能在猫头鹰中这样做。猫头鹰的本意不是要谈论所写的东西,而是谈论世界上真实的事物。数据集中没有明确显示的事实可能是真的。如果你给我的简历中没有提到你的街道地址,我能断定你无家可归吗

    然而,在没有猫头鹰的情况下,有几种方法可以做你想做的事情。一个带有过滤器的SPARQL构造查询,如果可以推断Property1的某些值,则使用推理器,如果不能,则以编程方式添加Property2。例如:

    CONSTRUCT { ?s  <TruProperty>  ?o }
    WHERE {
        { ?s  <Property1>  ?o }
       UNION
        { ?s  <Property2>  ?o
          FILTER NOT EXISTS { ?s  <Property1>  ?o }
        }
    }
    
    构造{s?o}
    在哪里{
    {?s?o}
    联合
    {?s?o
    筛选器不存在{s?o}
    }
    }
    
    在OWL中不能这样做。猫头鹰的本意不是要谈论所写的东西,而是谈论世界上真实的事物。数据集中没有明确显示的事实可能是真的。如果你给我的简历中没有提到你的街道地址,我能断定你无家可归吗

    然而,在没有猫头鹰的情况下,有几种方法可以做你想做的事情。一个带有过滤器的SPARQL构造查询,如果可以推断Property1的某些值,则使用推理器,如果不能,则以编程方式添加Property2。例如:

    CONSTRUCT { ?s  <TruProperty>  ?o }
    WHERE {
        { ?s  <Property1>  ?o }
       UNION
        { ?s  <Property2>  ?o
          FILTER NOT EXISTS { ?s  <Property1>  ?o }
        }
    }
    
    构造{s?o}
    在哪里{
    {?s?o}
    联合
    {?s?o
    筛选器不存在{s?o}
    }
    }