2012-12-21 52 views
0

說我有:如何結合OWL中的數據屬性?

  • Property1是可選的,就是始終定義

我想定義TrueProperty等於

  • Property2:

    1. Property1如果Property1存在
    2. Property2 otherwise

    Property2否則

    我能做到這一點?我可以在OWL中做到嗎?

    謝謝

  • 回答

    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 } 
        } 
    } 
    
    相關問題