0

クエリフォームを作成し、ユーザーがフォームからキーワードを入力できるようにします。次に、クエリフォームは次のページに移動し、クエリフォームで作成された変数を次のページに移動します。新しいページの抜粋コードは次のとおりです。

//received variable
$abc1=$_POST['querykeyword'];

$querystring = '
Prefix try <http://www.semanticweb.org/ontologies/2009/5/test.owl#>
SELECT ?name ?age
WHERE
  {     ?url try:has-name ${"abc1"} ?name 
        ?url try:has-age ?age }'; 

しかし、それは出力を与えませんでした。誰か助けてもらえますか?

4

3 に答える 3

1

質問のクエリと laalto の回答はどちらも有効な SPARQL ではありませんが、laalto は近づいています。

Ismet は ?name 変数を固定値に置き換えたいようです。その場合、?name 変数を SELECT およびクエリ本体から削除する必要があります。そうしないと、解析されず、確実に目的の結果が返されません。使用された PHP は、T_VARIABLE のエスケープも間違っています。PREFIX には、SPARQL 構文規則で必要なコロンがありませんでした。

試す:

  $querystring = "
  PREFIX try: <http://www.semanticweb.org/ontologies/2009/5/test.owl#>
  SELECT ?age
  WHERE {
    ?url try:has-name \"${abc1}\" .
    ?url try:has-age ?age
  }";

これにより、少なくとも、変数を含む構文的に正しい SPARQL クエリが出力されるはずです。

于 2009-07-08T09:38:57.177 に答える
0

クエリには多くの構文の問題があるようです。 try:has-nameプロパティにはおそらくリテラル ドメインがあります。したがって、リテラルを引用符で囲む必要があります。また.、グラフ パターンとその他の癖の間に欠落があり、そのうちのいくつかは、コード以外のテキストの stackoverflow の書式設定に関連しています (質問を再書式設定することで修正されます)。ただし、これを試してください:

$querystring = '
  PREFIX try: <http://www.semanticweb.org/ontologies/2009/5/test.owl#>
  SELECT ?name ?age {
    ?url try:has-name ?name .
    ?url try:has-age ?age .
    FILTER(?name = \"${"abc1"}\")
  }';

ステートメントは名前空間プレフィックスPREFIXを宣言します。try次に、 2 つの変数andSELECTを選択する句があります。オプションであることに注意してください。2 つのグラフ パターンは、両方のパターンに一致するトリプルを選択し、一致基準を満たすトリプルのみを保持します。あなたはすでに名前を知っているので、@ tialaramexのソリューションもおそらくあなたのために働くでしょう. 将来、より複雑なフィルタリング操作を使用する場合に備えて、これを少し異なるソリューションに編集しています。nameageWHEREFILTERname

于 2009-07-07T13:08:43.217 に答える
0

古い質問ですが、FWIW の場合: フレネルを使用することをお勧めします。最初はより多くの作業が必要ですが、柔軟性が向上し、いくつかの問題点は既に解決されています。Fresnel は、RDF の表示方法を記述するための RDF プレゼンテーション ボキャブラリです。SPARQL CONSTRUCT クエリを使用してデータを収集し、それをフレネル エンジンに渡して HTML を生成し、その間にキャッシュ レイヤーを挿入してパフォーマンスを向上させることができます。

いくつかのフレネル エンジンの実装については、特に PHP で作業しているため、Horus を参照してください。

  • SIMILE のフレネル エンジン。Java、Maven リポジトリで利用可能

  • Emmanuel の IsaViz (部分的; FSL を完全に実装); Java、SIMILE エンジンを利用する可能性が高い

  • ベルリン自由大学のホルス。PHP

  • オリン大学 (unknown)

于 2010-03-09T22:42:11.560 に答える