3

私はセマンティック Web プログラミングが初めてで、SPARQL クエリを使用して何かをしようとしていますが、それが可能かどうかは完全にはわかりません。しかし、別のアプローチを試す前に、教祖に聞いてみようと思いました。

列の 1 つとして URI リソースを返す SPARQL クエリがあります。以下の例:

http://purl.uniprot.org/uniprot/Q9UKM9

その URL の最後の部分 ( Q9UKM9) を変数に入れて正規表現コマンドで使用し、別のリソースで同じタンパク質 (抽出している番号で識別) を見つけたいと思います。

次のような単純なクエリを実行することはできません。

?random_resource_one X:propertyOne ?what_I_am_interested_in .
?random_resource_two Y:hasURI ?what_I_am_interested_in . 

リソース URI が異なるため:

http://purl.uniprot.org/interpro/IPR000504

http://purl.org/obo/owl/InterPro#InterPro_IPR000504

私はアイデアに対して完全にオープンです!ありがとう!

4

2 に答える 2

4

これには SPARQL のSTRAFTER関数を使用できます。

 STRAFTER("http:xx//purl.uniprot.org/uniprot/Q9UKM9", "http:xx//purl.uniprot.org/uniprot/")

「Q9UKM9」を返します。

さらなるヒントとして、名前空間プレフィックスを省略形として再利用できます。したがって、クエリにこれがあると仮定します。

PREFIX uniprot: <http:xx//purl.uniprot.org/uniprot/>

あなたはこれを行うことができます:

 STRAFTER("http:xx//purl.uniprot.org/uniprot/Q9UKM9", str(uniprot:))
于 2013-05-11T06:30:51.623 に答える