2

假设我想检索元素周期表中标准状态为 的所有元素的名称'gas'。以下是我认为 .owl 文件的相关部分……</p>

<owl:Class rdf:ID='StandardState'>
    <owl:oneOf rdf:parseType='Collection'>
        <StandardState rdf:ID='state_unknown'/>
        <StandardState rdf:ID='gas'/>
        <StandardState rdf:ID='solid'/>
        <StandardState rdf:ID='liquid'/>
    </owl:oneOf>
</owl:Class>

Element…带有 的列表示例StandardState 'gas',当然还有更多,但格式相同…</p>

<Element rdf:ID="He">
    <name rdf:datatype="&xsd;string">helium</name>
    <symbol rdf:datatype="&xsd;string">He</symbol>
    <atomicNumber rdf:datatype="&xsd;integer">2</atomicNumber>
    <atomicWeight rdf:datatype="&xsd;float">4.002602</atomicWeight>
    <group rdf:resource="#group_18"/>
    <period rdf:resource="#period_1"/>
    <block rdf:resource="#p-block"/>
    <standardState rdf:resource="#gas"/>
    <color rdf:datatype="&xsd;string">colourless</color>
    <classification rdf:resource="#Non-metallic"/>
    <casRegistryID rdf:datatype="&xsd;string">7440-59-7</casRegistryID>
</Element>

当我最终想要的内容与 XSD 原语相关联时,我知道如何进行查询^^xsd:stringrdf:resource例如

4

1 回答 1

3

您查询非文字的方式与查询文字的方式相同:通过编写图形模式来匹配它们。在这种情况下,您可以执行以下操作:

PREFIX ex: <http://www.example.org/periodic-table#>
SELECT ?element 
WHERE { 
  ?element ex:standardState ex:gas .
}
于 2013-04-30T19:39:30.300 回答