2016-05-25 12 views
2

私はエンティティー述部を持っています。エンティティに関する属性を格納する関連する機能的述語を持つ「Person」。logicbloxを照会する方法

例:私がやりたい何

Person(x), Person:id(x:s) -> string(s). 

Person:dateOfBirth[a] = b -> Person(a), datetime(b). 
Person:height[a] = b -> Person(a), decimal(b). 
Person:eyeColor[a] = b -> Person(a), string(b). 
Person:occupation[a] = b -> Person(a), string(b). 

は、SQLクエリの同等の操作を行い、ターミナルである:

SELECT id, dateOfBirth, eyeColor FROM Person 

私は、単一の機能述語の詳細を取得するには、printコマンドを認識してい、私はそれらの組み合わせを取得したいと思います。

lb print /workspace 'Person:dateOfBirth' 

答えて

2

"lb query"コマンドを使用すると、データベースに対して任意のlogiqlクエリを実行できます。実際には、見たい結果を持つ一時的な匿名の述語を作成し、次にlogiql言語を使用してその述語を移入するためのルールを作成します。あなたの場合、それは次のようなものになります:

lb query <workspace> '_(id, dob, eye) <- 
    Person(p), 
    Person:id(p:id), 
    Person:dateOfBirth[p] = dob, 
    Person:eyeColor[p] = eye.' 
関連する問題