簡體   English   中英

如何查詢owl:equivalentclass的隱式屬性

[英]How to query implicit properties of owl:equivalentclass

我想查詢一個包含由owl:equivalentclass對象持有的隱式屬性的本體。 我該如何實現?

本體持有這樣的三元組:

<plantURI> rdf:type <http://purl.obolibrary.org/obo/FLOPO_0004148>

<http://purl.obolibrary.org/obo/FLOPO_0004148>具有以下定義:

    <owl:Class rdf:about="http://purl.obolibrary.org/obo/FLOPO_0004148">
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/BFO_0000051"/>
                <owl:someValuesFrom>
                    <owl:Class>
                        <owl:intersectionOf rdf:parseType="Collection">
                            <rdf:Description rdf:about="http://purl.obolibrary.org/obo/PO_0009046"/>
                            <owl:Restriction>
                                <owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/RO_0000053"/>
                                <owl:someValuesFrom rdf:resource="http://purl.obolibrary.org/obo/PATO_0000320"/>
                            </owl:Restriction>
                        </owl:intersectionOf>
                    </owl:Class>
                </owl:someValuesFrom>
            </owl:Restriction>
        </owl:equivalentClass>
        <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">flower green</rdfs:label>
    </owl:Class>

但是,我不想這樣簡單地查詢URI:

SELECT * { ?s rdf:type <http://purl.obolibrary.org/obo/FLOPO_0004148> }

但是我有時只想查詢其隱式屬性之一,例如屬性<http://purl.obolibrary.org/obo/PATO_0000320> (“綠色”)-查找所有以綠色表示的植物。

因此,最佳查詢如下所示:

SELECT * {
?s ?p <http://purl.obolibrary.org/obo/PATO_0000320>
}

這給了我對象,因為對象隱式地擁有此屬性。

這可能涉及在Virtuoso中進行推理。 但是,幾個小時后,我無法提出任何解決方案來在SPARQL中執行此操作。

Virtuoso提供兩種形式的推理和推理。 1.內置-基於固定規則,涉及owl:equivalentClass,owl:equivalentProperty,owl:inverseOf,owl:sameAs,owl:InverseFunctionalProperty,owl:SymmetricProperty,rdfs:subClassOf,rdfs:subPropertyOf(開源版和商業版均支持此功能)

  1. 自定義-這是基於使用SPARQL和規則語言制作的自定義規則的結果,由SPIN本體(僅商業版本)提供。

現在出現的只是需要owl:equivalentClass推理,因此您可以查看以下內置的推理和推理示例:

啟用等效類推理

DEFINE input:inference 'urn:owl:equivalent:class:inference:rules'

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX bmo: <http://purl.org/bmo/ns#> 
PREFIX fibo: <https://spec.edmcouncil.org/fibo/ontology/FND/AgentsAndPeople/People/Person>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>


SELECT DISTINCT ?s
WHERE {
        ?s a fibo:person .

      }
LIMIT 20

實時查詢結果頁面 (解決方案基於推理和推論的結果而產生)

等效類推理已禁用(注意DEFINE輸入:推理編譯注釋已注釋掉)

# DEFINE input:inference 'urn:owl:equivalent:class:inference:rules'

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX bmo: <http://purl.org/bmo/ns#> 
PREFIX fibo: <https://spec.edmcouncil.org/fibo/ontology/FND/AgentsAndPeople/People/Person>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>


SELECT DISTINCT ?s
WHERE {
        ?s a fibo:person .

      }
LIMIT 20

實時查詢結果頁 (應為空)

來自我們的Github存儲庫的 示例源代碼文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM