私はリストの種類を持っています:
List<Concept>
--- Property
--- List<Class2>
--- --- Class2pty
--- --- Class2pty2
--- List<Class3>
--- --- Class3pty
クエリ文字列があるので、 PropertyやClass2pty2、Class3ptyなどの任意のプロパティ(まあ、一種のプロパティ)にそのクエリ文字列を持つ新しい概念のリストが必要です...
プロパティをクエリできる場所で、 Class2ptyをクエリする方法がわかりません。一致する場合は、そのClass2を持つコンセプトを返します。
だから、私は単一のネストされたクエリでそれを行うことができますか、それとも私は何ができますか?
編集:私は明確ではなかったので、私は例を挙げます
「foo」のクエリ文字列があり、この4つのアイテムのリストがあるとします。
Concept
--- Property = "foo"
--- List<Class2>
--- --- Class2pty
--- --- Class2pty2
--- List<Class3>
--- --- Class3pty
Concept
--- Property
--- List<Class2>
--- --- Class2pty = "foo"
--- --- Class2pty2
--- List<Class3>
--- --- Class3pty
Concept
--- Property
--- List<Class2>
--- --- Class2pty = "bar"
--- --- Class2pty2
--- List<Class3>
--- --- Class3pty
Concept
--- Property
--- List<Class2>
--- --- Class2pty
--- --- Class2pty2
--- List<Class3>
--- --- Class3pty = "foo"
最初のリストアイテムはプロパティにfooを持ち、2番目のアイテム(List <Class2>にはClass2のインスタンスが10個あり、そのうちの1つ(またはそれ以上)がClass2Ptyにfooを持っていると想像してください)、3番目のアイテムはどのプロパティにもfooを持っていません(Conceptインスタンス自体と内部インスタンスで)、4つのアイテムにそれがあります。
したがって、コンセプトアイテム(子を含む)にそのfooアイテムを持つプロパティがある場合は、コンセプトアイテムを返します。私たちの場合、1、2、4です。
つまり、内部リストを含む概念のリストを作成し、その文字列を持つプロパティを持つすべての概念を返すか、子インスタンスの1つにその文字列がある場合に返します。