【发布时间】:2021-10-08 07:43:30
【问题描述】:
我是本体领域的新手,正在尝试在 Protégé 中构建一些东西。我有一个看起来像这样的示例结构:
这个想法是,如果我查询 Salami - 它应该转到其父类“Swine”并检查 Swine 是否具有与任何特定支出类别的关系的任何属性。如果有一个属性 - 在我的情况下,我有一个将猪连接到猪肉的属性“isRelatedTo”。我想从“Pork”中检索注释“spendcategory”。
<?xml version="1.0"?>
<rdf:RDF xmlns="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#"
xml:base="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:trial-sparql="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#">
<owl:Ontology rdf:about="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql"/>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Annotation properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLAnnotationProperty_ea40c8b6_5f54_4d6a_b186_1fdd794ccd64 -->
<owl:AnnotationProperty rdf:about="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLAnnotationProperty_ea40c8b6_5f54_4d6a_b186_1fdd794ccd64">
<rdfs:label xml:lang="en">SpendCategory</rdfs:label>
</owl:AnnotationProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Object Properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLObjectProperty_d75c5f32_6c22_44f9_9707_1a1a640aa013 -->
<owl:ObjectProperty rdf:about="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLObjectProperty_d75c5f32_6c22_44f9_9707_1a1a640aa013">
<rdfs:label xml:lang="en">isRelatedto</rdfs:label>
</owl:ObjectProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Classes
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_41cec2ba_48bc_423e_b8dd_1c24d4db3f43 -->
<owl:Class rdf:about="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_41cec2ba_48bc_423e_b8dd_1c24d4db3f43">
<rdfs:label xml:lang="en">SpendCategory</rdfs:label>
</owl:Class>
<!-- http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_41dcbdc3_93af_4f15_bd7e_0388bc117a7a -->
<owl:Class rdf:about="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_41dcbdc3_93af_4f15_bd7e_0388bc117a7a">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_adf820bb_7f9c_4e40_b1fd_014278cb9d4c"/>
<rdfs:label xml:lang="en">sausage</rdfs:label>
</owl:Class>
<!-- http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_4b569d99_c827_42d4_a22a_65bfb5f64ffc -->
<owl:Class rdf:about="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_4b569d99_c827_42d4_a22a_65bfb5f64ffc">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_41cec2ba_48bc_423e_b8dd_1c24d4db3f43"/>
<OWLAnnotationProperty_ea40c8b6_5f54_4d6a_b186_1fdd794ccd64>R123400000</OWLAnnotationProperty_ea40c8b6_5f54_4d6a_b186_1fdd794ccd64>
<rdfs:label xml:lang="en">Pork</rdfs:label>
</owl:Class>
<!-- http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_5d60365c_44fa_4870_a8ed_eea94ff99728 -->
<owl:Class rdf:about="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_5d60365c_44fa_4870_a8ed_eea94ff99728">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_adf820bb_7f9c_4e40_b1fd_014278cb9d4c"/>
<rdfs:label xml:lang="en">salami</rdfs:label>
</owl:Class>
<!-- http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_adf820bb_7f9c_4e40_b1fd_014278cb9d4c -->
<owl:Class rdf:about="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_adf820bb_7f9c_4e40_b1fd_014278cb9d4c">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLObjectProperty_d75c5f32_6c22_44f9_9707_1a1a640aa013"/>
<owl:someValuesFrom rdf:resource="http://www.semanticweb.org/rdkarkhasa/ontologies/2021/9/trial-sparql#OWLClass_4b569d99_c827_42d4_a22a_65bfb5f64ffc"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:label xml:lang="en">Swine</rdfs:label>
</owl:Class>
</rdf:RDF>
我想在 Python 中执行此操作。我尝试在查询的基础上进行构建,但无法理解如何在我的情况下获得某些东西,即获得意大利腊肠的父类 - 即。 Swine,然后搜索 Swine 将具有的属性,然后获取 Pork 的注释。如何进行此链接?任何要阅读的指针也很感激。
【问题讨论】:
标签: python sparql owl ontology