1

オントロジーに対する SPARQL クエリについてお伺いできますか。私が持っている family.owl ファイルは、protege 3.4 からデータを含むオントロジー ビルドです。

Lan haschild Tuấn, 
Tùng haschild Tuấn.

サイト (http://www-sop.inria.fr/edelweiss/software/corese/v2_4_0/manual/index.php#coreseapi ) で Java と CORESE API を使用して、上記の family.owl をクエリします。次の SPARQL クエリを使用します。

PREFIX fm:< http://www.owl-ontologies.com/Ontology1287989576.owl#>

SELECT ?child
WHERE 
{ 
  fm:Lan fm:haschild ?child 
} 

結果は Tuấn (真の結果は Tuấn でなければなりません)

「where」句を次WHERE { fm:Tùng fm:haschild ?child }のように置き換えると、結果は空になります(真の結果はTuấnでなければなりません)

文字列 "Tùng" と "Tuấn" で間違った結果を知っています。この文字列には文字 Unicode ù、ấ があります</p>

CORESE API で Unicode 文字を使用して、sparql でフクロウ ファイルをクエリできますか。

4

1 に答える 1

1

考えられる解決策は、次の代わりに URI をエスケープすることです。

fm:Tùng --> fm:T%C3%B9ng

fm:Tuấn --> fm:Tu%E1%BA%A5n

この方法でデータを作成すれば、問題は発生しないはずです。URIS にアクセントを付けることはあまりお勧めできません。そのため、人々はその理由で URI をエンコード/エスケープする傾向があり、ほとんどの言語には URI をエンコードするためのライブラリがあります。たとえば、Python では次のように簡単です。

>>> import urllib
>>> urllib.quote("Tùng")
'T%C3%B9ng'
>>> urllib.quote("Tuấn")
'Tu%E1%BA%A5n'
于 2010-10-30T22:13:02.680 に答える