簡體   English   中英

是否有一個簡單的 SPARQL 構造查詢到 select 通過某個謂詞值的所有主題相關語句

[英]IS there a simple SPARQL Construct query to select all subject related statements by certain predicate value

我是一個完整的語義 Web 初學者和 RDF4J 初學者。 目前我有一些 RDF xml 並且我無法按主題值向 select 所有相關語句編寫簡單的構造查詢。 我有這個:

 <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="http://example.org/cocktail#Mimosa"> <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> <prefLabel xmlns="http://www.w3.org/2004/02/skos/core#">Mimosa</prefLabel> <altLabel xmlns="http://www.w3.org/2004/02/skos/core#">bla</altLabel> <altLabel xmlns="http://www.w3.org/2004/02/skos/core#">huuh</altLabel> <altLabel xmlns="http://www.w3.org/2004/02/skos/core#">owiii</altLabel> <broader xmlns="http://www.w3.org/2004/02/skos/core#">Wine cocktail</broader> </rdf:Description> <rdf:Description rdf:about="http://example.org/cocktail#White Russian"> <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> <prefLabel xmlns="http://www.w3.org/2004/02/skos/core#">White Russian</prefLabel> <altLabel xmlns="http://www.w3.org/2004/02/skos/core#">Ruski</altLabel> <altLabel xmlns="http://www.w3.org/2004/02/skos/core#">kasdnjkldfan</altLabel> <altLabel xmlns="http://www.w3.org/2004/02/skos/core#">oasdasi</altLabel> <broader xmlns="http://www.w3.org/2004/02/skos/core#">Wine cocktail</broader> </rdf:Description> </rdf:RDF>

我想編寫一個簡單的查詢,它將 prefLabel 作為參數並選擇整個語句塊(描述中的所有內容,包括它自己的描述)。 例如,我有一個 prefLabel 的值“Mimosa”,現在我希望得到這個:

 <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="http://example.org/cocktail#Mimosa"> <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> <prefLabel xmlns="http://www.w3.org/2004/02/skos/core#">Mimosa</prefLabel> <altLabel xmlns="http://www.w3.org/2004/02/skos/core#">bla</altLabel> <altLabel xmlns="http://www.w3.org/2004/02/skos/core#">huuh</altLabel> <altLabel xmlns="http://www.w3.org/2004/02/skos/core#">owiii</altLabel> <broader xmlns="http://www.w3.org/2004/02/skos/core#">Wine cocktail</broader> </rdf:Description> </rdf:RDF>

您可以按如下方式執行此操作:

   CONSTRUCT 
   WHERE { 
         ?c a skos:Concept ;
            skos:prefLabel "Mimosa" ;
            ?property ?value .
   }

說明: WHERE子句中的第一行選擇所有類型為skos:Concept的資源。 第二行進一步將其范圍縮小到僅具有 prefLabel 值為"Mimosa"的那些概念。 然后最后一行獲取所選概念的所有可能屬性和值。

提示:不關注 RDF/XML 語法會有所幫助。 以圖的形式考慮 RDF,而不是 XML 文檔。 它可以幫助您以不同的語法處理 RDF 文件,例如 Turtle(它也更接近 SPARQL 中的工作方式)。

暫無
暫無

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

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