OrientDB:在超类上过滤选择

时间:2015-09-08 22:01:09

标签: orientdb

使用OrientDB控制台有一个命令,用于显示具有扩展基类的类的所有记录。

browse class Asset

返回所有具有扩展Asset的类(Object1,Object2)的记录。

我正在寻找可以做同样事情的SQL命令。

目前此查询不会返回相同的记录集。

SELECT * V where @class = 'Asset'

3 个答案:

答案 0 :(得分:5)

您也可以使用 instanceof 运算符

例如

 select from V where @this instanceof 'Asset'

在你想要检索作为两个不同父类的子类的文档的情况下,尤其是在具有多重继承的v.2.1中这是有意义的

答案 1 :(得分:3)

要从Object1和Object2检索所有记录,超类名称中的简单选择查询应该有效:

select from Asset

答案 2 :(得分:0)

如果您正在寻找给定班级的所有超类,这对我有用:

public override View GetView(int position, View convertView, ViewGroup parent)
{
    View view = convertView;

    // re-use an existing view, if one is available
    // otherwise create a new one
    if (view == null)
    {
        view = context.LayoutInflater.Inflate(Resource.Layout.Grid, parent, false);
        //find GridView from Grid.axml and set columns count to 2 (only ID and Nick)
        GridLayout tableView = view.FindViewById<GridLayout>(Resource.Id.gridLayout1);
        tableView.ColumnCount = 2;

        //Creating TextView to show ID, place position is 0 - first
        TextView textCaption = new TextView(view.Context);
        textCaption.SetText(list[position].ID.ToString(), TextView.BufferType.Normal);
        tableView.AddView(textCaption, 0);

        //Creating TextView to show ID, place position is 1 - second in a row of Grid
        textCaption = new TextView(view.Context);
        textCaption.SetText(list[position].Nick, TextView.BufferType.Normal);
        tableView.AddView(textCaption, 1);
    }

    return view;
}