問題タブ [inference]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sparql - 異なる含意レジームのイエナ効果
私は sparql と含意の使用を試みています。
例として、私はhttp://www.w3.org/TR/2010/WD-sparql11-entailment-20100126/#t112を使用しました
私はそれらをジェナに入れようとします。
ここで、モデルは OntModel 型です。
そして私は問題に似たクエリを使用しました
モデルはこのように作成されました。OntModelSpec で問題ないことを願っています。
クエリの結果として取得します
コードを試すことができず、結果を正しく得ることができるように、含意の有無にかかわらず、誰でも例を挙げてもらえますか。
owl - Jena を使用した推論
上記の例は、正式な Pizza.owl によって形成されます。このフクロウでは、例-マルゲリータはマルゲリータ クラスの個体です。ですから、フクロウファイルにはすでに書かれています。ただし、問題は、推論者がマルゲリータの例もベジタリアン ピザであると推論する必要があることです。Protege のように、個人の可能な推論クラスを見つける方法を示す例を誰か教えてください。
java - 整数カーディナリティ制約を持つインスタンスを推測する際の問題
Protege 4.1 alpha を使用して RDF/OWL ファイルを作成しました。また、CheapPhone という Protege の定義済みクラスも作成しました。このクラスには、以下に示す制限があります。
電話の価格が 350 を下回る場合は常に、CheapPhone と見なされます。Protege 4.1 alpha では、これを推測するのに問題はありません。ただし、Jena を使用してこれを推測することはできません。
また、SmartPhone という名前の定義済みクラスも作成しました。このクラスには、以下に示す制限もあります。
電話に 3G とインターネットがある場合はいつでも、スマートフォンと見なされます。この状況では、Protege と Jena の両方でこれを推測しても問題はありません。
Jena のデフォルトの推論エンジンに問題があるのではないかと思い始めました。私が Java で使用するコードは以下のとおりです。
このコードは完全に機能し、インスタンスを返しますが、以下のコードを変更して、CheapPhone に適したものにすると、何も返されません。
私は何か間違っていますか?
artificial-intelligence - 推論論理ルール選択の問題
トミー、ジル、トラベラーはScクラブに所属しています。scクラブのメンバーは全員、サーファーかバイクライダー、またはその両方です。雨の日が好きなバイクライダーはいないし、晴れた日が好きなサーファーもいます。トミーが嫌いなものは何でも。トミーは雨の日と晴れた日が好きです。
上記の情報を一階述語論理で表現したいので、「自転車のライダーであるがサーファーではないSCクラブのメンバーは誰ですか?」という質問を表現できます。述語論理式として。
前向き連鎖、後向き連鎖、または解決の反論を選択する必要がある一次推論規則は何ですか?
c# - C#:デリゲートリストを作成するための醜い構文はありませんか?
私はLINQに少し似たシステムを構築していて、それを実行する際に、ポリモーフィックコールバックハンドラーリストをサポートしようとしていますが、いくつかの種類の問題が発生しています。私の質問をする簡単な方法は、コードを表示することです。私の新しいシステムは「グループ」をサポートし、グループにはエントリポイントのベクトル(以下、UPDATEとCHECKPT)があり、ベクトルの各要素はデリゲートの多形リストであり、リフレクションを使用してコールバックします。
したがって、サンプルコード:
私の質問は登録ラインに集中しています。キャストと新しいデリゲートタイプを完全に省略できるように、C#でタイプを推測できないのはなぜですか?からだと思います
C#は、必要な型シグネチャを推測できます。デリゲート()は一種の匿名タイプであり、C#は次のようなものを生成します
(Delegate)(_atype1)
次に、行をコンパイルする前に挿入します。したがって、私のユーザーはデリゲート型を宣言する必要はありません(これにより、現在、引数リストを2回入力する必要があります)。
VS 2010を使用しているので、持っていますSystem.Linq
。したがって、LINQが必要なキャストを何らかの方法で推測できる場合は...
c# - なぜC#はジェネリックスで「単純な」型推論を行わないのですか?
ただ好奇心が強いです。確かに、ジェネリックスの型推論の一般的なケースは決定不可能であることは誰もが知っています。したがって、C#はいかなる種類のサブタイピングも行いません。Foo<T>がジェネリックである場合、Foo<int>はFoo<T>、Foo <Object> 、またはその他のサブタイプではありません。調理します。そして確かに、私たちは皆、醜いインターフェースや抽象クラス定義でこれをハックしています。
しかし...一般的な問題に打ち勝つことができない場合は、解決策を簡単なケースに限定してみませんか。たとえば、上記の私のリストでは、Foo<int>がFoo<T>のサブタイプであることは明らかであり、確認するのは簡単です。Foo<Object>に対するチェックについても同じです。
それで、もし彼らがただ言うなら、深淵から忍び寄るであろう他のいくつかの深い恐怖があります、aw shucks、私たちは私たちができることをしますか?それとも、これはマイクロソフトの言語担当者の側のある種の宗教的な純粋さですか?
アップデート:
これは非常に古いスレッドです。最近、C#にはvarがあり、これは私が不満を言ったことの半分を解決します。次に、匿名のデリゲートのLinqスタイルを使用すると、同じものを2回入力する必要がないという優れた表記法があります。したがって、私が反対していたことのすべての側面は、C#の最近の変更によって解決されました(または、スレッドを投稿したときに紹介されたばかりのことを学ぶのに時間がかかっただけです...)私はこれらの新しいものを使用します信頼性の高いクラウドコンピューティング(isis2.codeplex.com)用のIsis2システムの機能があり、その結果、ライブラリのルックアンドフィールは非常にクリーンになっていると思います。それをチェックして、あなたの考えを教えてください)。-ケン・バーマン(2014年7月)
f# - 変更可能なフィールドを持つ F# + レコードでの等価性の推論
一般的な等価/比較メンバーの設計ガイドラインは、可変参照型に構造的等価性を実装しないことですが、可変フィールドを持つ F# レコード型を見てください。
はMap
内部でソートされmutable
ますが、レコード インスタンスが既にマップ内にある場合でも、レコード フィールドを使用すると順序を変更できます。これは非常に悪いことです。
F# は、変更可能なフィールドを宣言する F# レコード型に対してモードを推論する必要がある[<NoEquality>]
と思いますね。[<NoComparison>]
jena - 推論のルールを変更する方法
Jena フレームワークで Eclipse を使用して Web アプリケーションを開発しています。私のアプリケーションは次のことを行います。
名前、電子メール、興味(C言語、Javaなど)、職業、ユーザー名、およびパスワードの情報を使用して、新しいユーザーを登録します。
この情報は、user.rdf という名前の rdf ファイルに保存されます。
新しい希望のユーザー名とパスワードを使用して、新しいユーザー アカウントが作成されます。新しいユーザーがログインすると、ユーザーの興味に応じて、データベース内のすべての関連書籍が開きます。
ここで、新しいユーザーに次のことを推奨する必要があります。
彼/彼女が C 言語に興味がある場合は、C++ の本が彼に推奨され、リストが画面に表示されます。
これには、事実とルールを必要とする推論エンジンが必要であることを私は知っています。事実は、ユーザーの関心を格納する rdf ファイルになります。ルール ファイルは、推奨事項が実行されるときにルールに基づいて表示されます。
次の内容の user.rdf ファイルがあります。
ユーザー Suresh と Anvika は実際には Protege で作成されたもので、ファイルはアプリケーションを介して他のユーザーの詳細で更新されます。
test.rules ファイルには以下が含まれます。
出てくる推論は
今、行が原因で
推論は、LikeC++ の Anvika の推奨事項をユーザーに提供します。しかし、C 言語にも関心があるユーザー Raj にも同じことが欠けています。この行により、ユーザー Anvika のみが推測されていることがわかりました。しかし、この行は Protege によって自動的に追加されました。私のプログラムはそれをしません。では、アプリケーションを介してその行を追加するにはどうすればよいですか。これが不可能な場合は、ルールを変更して正しい結果を推測する方法を教えてください。
私を助けてください。私は長い間これに打たれました。
c++ - 関数テンプレート パラメーターの型推定
関数テンプレートについていくつか質問があります。
私の計画は、ユーザー定義クラスから派生し、そのクラスのパブリック関数だけでなくそのコンストラクターもエクスポートするラッパーを作成することでした。そこで、ほとんどのコンストラクターのニーズを満たすために、1 から n 個のパラメーターを持つ複数のコンストラクター テンプレート (関数テンプレートとまったく同じように機能すると思われます) を使用することにしました。
これらは、次のように、単にコンストラクターを呼び出して、後で別のことを行うだけではありません。
私の意図は、Wrapper-Ctor 内の別の場所にインスタンスを登録し、その時点から、T で定義された仮想関数への呼び出しを受け取ることができるようにすることです。
私の Wrapper-Ctor が渡されたパラメーターに副作用 (コピー構築) を持たないことを保証するために、上記のコードで参照演算子を使用する必要がありました。
驚いたことに、一時的なものを除いて、これは常に機能していました。これが、この状況でコンパイラによって推論される型について混乱している理由です。状況を単純化するために、テンプレート関数を使用して同様のことを試みました。
次のように関数を呼び出します。
驚いたことに、コンパイラはエラー メッセージに [T = std::string] を示します。私はこれが [T = std::string&] であると予想していました。
では、なぜコンパイラはこの状況で値型を推測するのでしょうか? 私が望むことを行い、パラメータに副作用がなく、一時的に受け入れるWrapper-Ctorを作成することさえ可能ですか?
どうもありがとう!