私はPrologにDCGを持っており、次のようにクエリできます。
q(Tree, [name, of, company], []).
クエリを解析するためにたどったパスを示す応答を取得します。
Tree = q(['company (Class)', 'name (Attribute)'])
次に、次のようなクエリを実行します。
q(Tree, [name, of, acme], []).
用語と一致しない場合は、次acme
のような変数を作成したいと思いますAcme
。
Acme=会社 ツリー=q(['会社(クラス)'、'名前(属性)'])
私はSWI-Prologを使用していて、別の言語からクエリを実行しています。そのため、クエリはすべて小文字です。私の他のオプションは、すべての有効な用語のレキシコンを作成し、クエリ内のすべての不明なものを変数に置き換えることですが、Prologソリューションを望んでいます。
ありがとうございました。