2012-06-24 37 views
1

我已經建立的門徒4如何編寫此SPARQL請求?

enter image description here

在這種本體論的本體論如下:主類Frame有DatatypeProperty屬性hasDuration與域「框架」和範圍UnsignedShort。類ShortFrameLongFrame從類SizedFrame推斷與followiing限制

Rectriction爲ShortFrame類

SizedFrame that hasDuration some unsignedLong[<=20] 

Rectriction爲長框架類

SizedFrame that hasDuration some unsignedLong[>=200] 

我已經手動創建的一個實例類別frame,名稱爲frame0,其中有一個屬性hasDuration設置爲12

什麼是SPARQL查詢,我需要得到所有shortFrame。我希望frame0將被推斷爲shortFrame

感謝您的回覆!

版:樣本查詢

PREFIX frame: <http://www.semantic.org/sample.owl#> 
SELECT ?y WHERE {?y rdf:type frame:Frame} 

,但它不工作!也許這是不正確的!

+0

我已經在我的問題中添加了查詢。但它不起作用。我是SQPARQL的新手。你有一些鏈接可以幫助我入門嗎? –

+0

@FopaLéonConstantin我意識到現在這是一個古老的問題,但是你有沒有得到更遠的? Jeen B的回答好像它應該檢索你正在尋找的元素。 –

回答

1

我相信你會用SPARQL語言編寫一些OWL限制信息查詢。 SPARQL是一種RDF查詢語言,不瞭解OWL的概念。您可以使用data屬性來定義持續時間值,而不是使用限制,您可以使用SPARQL獲取所有shortFrame。我建議的其他選項是使用SWRL規則而不是SPARQL。希望這可以幫助 !!

+0

Hi @Swamy,SPARQL和SWRL之間的區別是什麼,使得第一個比第二個更有趣? –

0

您提供的查詢要求所有類型爲frame:Frame的實例。既然你只想要短幀,你應該像這樣適應它:

SELECT ?y WHERE {?y a frame:ShortFrame} 

...但如果推理理解你的限制,可以進行正確分類frame0ShortFrame實例以上纔有效。我並不太熟悉用於貓頭鷹限制的Protege語法,因此我不能100%確定您的限制表達了您希望表達的內容。

作爲替代方案,您實際上可以在SPARQL中表達您需要的限制。查詢持續時間小於20的所有幀:

SELECT ?y 
WHERE { 
    ?y a frame:Frame; 
     frame:hasDuration ?d . 
    FILTER (?d <= 20) 
} 
+0

我認爲這裏最好的查詢會包含你展示的兩個聯合,因爲兩者都是可以識別ShortFrame的方式。 –