CN1904884A - 用于异构媒体的图形化查询构建器及其方法 - Google Patents
用于异构媒体的图形化查询构建器及其方法 Download PDFInfo
- Publication number
- CN1904884A CN1904884A CN 200510088152 CN200510088152A CN1904884A CN 1904884 A CN1904884 A CN 1904884A CN 200510088152 CN200510088152 CN 200510088152 CN 200510088152 A CN200510088152 A CN 200510088152A CN 1904884 A CN1904884 A CN 1904884A
- Authority
- CN
- China
- Prior art keywords
- xquery
- condition entry
- value setting
- logical
- query tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于异构媒体的图形化查询构建器及其方法,所述方法包括步骤:在图形用户界面上可视化条件项、值设定方法和逻辑运算符;以及基于被可视化的条件项、值设定方法和逻辑运算符来构建查询树。
Description
技术领域
本发明涉及一种查询方法和查询构建器,更具体地,涉及一种用于构建异构媒体的图形化查询的方法,以及用于异构媒体的图形化查询构建器。
背景技术
在现有技术中,实现异构媒体的集成查询的前提条件是存在一个标准化的异构媒体的统一描述机制,例如MPEG-7。MPEG-7为异构媒体的统一描述提供了一个很好的模型,基于这个标准,我们就能实现异构媒体的无缝集成查询。MPEG-7将媒体描述成XML文件,所以XML数据库是存储MPEG-7描述的理想解决方案之一。XQuery可以用来查询任何形式的XML数据并且返回规格化的结果。
因此,用于异构媒体的集成查询的模型如下:
--MPEG-7用来为异构媒体提供统一的描述。
--XML DB(数据库)用来储存MPEG-7描述。
--XQuery用来在XML数据库中查询MPEG-7元数据。
如图1所示,表现了一个在上述模型中典型的查询流程。图1是现有技术中执行XQuery查询一般流程图。如图1所示,一个复杂的查询被表示成XQuery表达式,并且从客户端传送到XQuery引擎。XQuery引擎进行正确的处理,然后将规格化的结果包传送回给客户端。XQuery不仅描述了查询表达式,同时还定义了返回结果包的XML格式,其中包括了MPEG-7元数据的XPath。
为了构建一个异构媒体的复杂查询,存在以下这些问题:首先,通过终端用户的手动输入来产生正确的XQuery非常困难。这不是由XQuery的规范造成的,因为即使在创建带有括号的简单表达式时,用户也有可能拼写错误的字段名称,写入错误的数据类型,搞乱逻辑符号的优先级,或者迷失在层层叠叠的括号里。
其次,在许多情况下,应用不允许终端用户接触到MPEG-7 Schema(大纲)和MPEG-7元数据的XPath。
第三,非专业的终端用户很难通过输入关键字来准确地描述复杂的媒体数据。
在现有技术中,存在许多图形化的方法来帮助用户构建逻辑表达式,例如,图2示出了一个简单的逻辑表达式构建器。如图2所示,在通过数字10表示的方框处输入SQL(结构化查询语言)查询条件值,在通过数字20表示的方框处设置一个简单的逻辑,并在通过数字30表示的方框处自动产生逻辑表达式。尽管XQuery和SQL的语法不同,但是它们都需要描述逻辑表达式。在图2所示的情况中,通过设置查询条件项和简单的逻辑来自动产生逻辑表达式。
然而,上述示例的缺点在于:
--查询条件项有限,而且不能根据应用的不同被定制;
--查询条件项值的设定只能采用手动输入关键字的方法;
--逻辑简单;
--逻辑表达式对用户不友好。
图3示出了现有技术中一种复杂的逻辑表达式构建器。如图3所示,在通过数字31表示的区域内选择理想的逻辑运算符,在通过数字32表示的区域内选择理想的查询条件,并且在通过数字33表示的区域内输入查询条件值并产生逻辑表达式。
另外,图4示出了现有技术中另一种复杂的逻辑表达式构建器。例如,可以在通过数字41表示的区域内选择理想的分类,从而自动加入分类号。
图3和图4所示的复杂逻辑表达式构建器提供了可定制的查询条件项和更多的逻辑运算符,从而使用户可以构建复杂的逻辑表达式。但是,仍然存在很多缺点:
--不直观逻辑表达式对用户不友好,不方便理解它的语义层次;
--不灵活、不方便,用户很难重构或者修改逻辑表达式;
--不准确,关键字不能满足多媒体内容的查询,因为多媒体内容的查询需要更准确、更专业的值设定方法。例如,对于非专业用户,如何用关键字准确的描述颜色?而调色板可以帮助他们选择正确的颜色;
--不可扩展,随着多媒体技术的方展,查询应该不仅仅是利用描述媒体的文本数据,还要利用从媒体本身中提取出来的特征信息。例如,同时采用基于视频关键帧(静态图片)特征的视频查询和基于描述的视频查询。上述图3和图4所示的查询构建方法无法向这些媒体处理器提供接口,并进行集成。
因此,用户友好的图形化查询构建器是非常必要的。
发明内容
为了解决在异构媒体的集成查询模型的现有技术中存在的上述问题,本发明开发了一种用于异构媒体的图形化查询构建器。它是一种有助于用户以XQuery格式构建复杂查询的图形化工具。通过它,终端用户不需要专业知识就能构建他们自己的异构媒体查询。该图形化查询构建器可以提供与一些媒体处理器的接口,并为实现异构媒体的集成查询提供了很大的帮助。
因此,本发明提供了一种构建图形化查询的方法,包括步骤:在图形用户界面(GUI)上可视化条件项、值设定方法和逻辑运算符;以及基于被可视化的条件项、值设定方法和逻辑运算符来构建查询树。
本发明还提供了一种图形化查询构建器,包括:图形用户界面,用于可视化条件项、值设定方法和逻辑运算符;和查询树生成器,用于根据所述条件项、值设定方法和逻辑运算符,来构建查询树。
在本发明中,构建器将查询可视化为树结构,并提供直观、灵活和方便的方式来对其进行创建和编辑。各种多媒体方法使得能够方便地设定条件项的值。可以自动地校验和产生XQuery,并可以定制条件项和条件项值设定方法。本发明的图形化查询构建器还提供了与各种多媒体处理器的接口。
附图说明
通过参照附图对本发明实施例的详细描述,本发明的其它目的、特征和优点将变得更加清楚,其中:
图1是现有技术中执行XQuery的一般流程图;
图2是现有技术中的简单逻辑表达式构建器的图;
图3是现有技术中的复杂逻辑表达式构建器的图;
图4是现有技术中的另一个复杂逻辑表达式构建器的图;
图5是根据本发明一个实施例的用于异构媒体的图形化查询构建器的方框图;
图6是根据本发明实施例的用于异构媒体的图形化查询构建器的GUI的示例;
图7是根据本发明实施例的用于异构媒体的图形化查询构建器的扩展部件的示意图;以及
图8是根据本发明实施例的用于异构媒体的图形化查询构建器所执行的查询的流程图。
具体实施方式
本发明的异构媒体的图形化查询构建器是一个图形化工具,用来帮助终端用户构建复杂的XQuery查询表达式,从而使得终端用户不需要专业知识就能够实现异构媒体的集成查询。
图5是根据本发明一个实施例的用于异构媒体的图形化查询构建器的方框图。如图5所示,图形化查询构建器200主要包括:查询条件项(元数据)构建器206,逻辑运算符构建器208,查询条件项(元数据)值设定方法构建器212,查询树生成器210,XQuery规格化器214,控制器202,以及GUI(图形用户界面)204,所有这些部件都通过数据和/或控制总线216相互链接。上述部件204、206、208、210、212和214的操作在控制器202的控制下执行。
另外,本发明的图形化查询构建器200还具有例如CPU(中央处理单元)、ROM(只读存储器)和RAM(随机存取存储器)等本领域技术人员公知的部件,其功能和操作将不再进行详述。
GUI 204通过总线216连接于其它部件,并显示需要在GUI上显示的各种信息。GUI204还提供诸如键盘、鼠标、触摸屏、麦克风等的接口(未示出),使用户能够输入命令和/或数据,包括文本、音频、或视频等。
本发明的GUI 204用于将查询条件项、逻辑运算符和值设定方法可视化,其示于图6中。图6是根据本发明实施例的用于异构媒体的图形化查询构建器的GUI的示例。
如图6所示,本发明的GUI 204的显示屏可以被分为如下几个部分:查询条件项浏览部分302,逻辑运算符部分304,查询条件值设定部分306,查询树构建部分308,逻辑表达式预览部分310,和操作部分312。另外,GUI204还可以包含数据源选择和模板选择部分(未示出)。
查询条件项浏览部分302列出了所有的查询条件项,这些查询条件项通过模板来定制,或通过MPEG-7来规格化。用户可以在查询条件项浏览部分302中选择理想地查询条件项。查询条件项浏览部分302可以被可视化为简单的列表的形式,也可以被可视化为通过字母排序或通过属性分组的分层树结构。
逻辑运算符部分304列出了用户可以选择的所有逻辑运算符。在查询条件值设定部分306中,用户可以通过使用各种多媒体方法来设定查询条件项的值。例如,用户可以通过关键字来输入位置,或使用GIS(地理信息***)***进行精确地定位。多媒体方法使用户能够方便地设定多种查询条件项的值。这些查询条件值设定方法可以通过模板来定制。在查询树构建部分308中,用户可以通过使用拖放方法来构建复杂的查询。拖放方法也使得甚至没有任何经验的用户和非技术背景的用户构建复杂的查询。
逻辑表达式预览部分310在用户想进行预览的任何时候,都可以自动显示通过XQuery逻辑表达式。在操作部分312中,用户可以执行各种操作,如“重置”、“显示表达式”、“删除”、和“搜索”等。
现在再回到图5,查询条件项构建器206提供一组查询条件项,它可以由模板或者规格化的MPEG-7文件来配置。终端用户在GUI 204上选择想要的查询条件项来构建复杂的查询。逻辑运算符构建器208提供一组逻辑运算符(AND、OR和NOT等)来构建复杂的查询。
查询条件项(元数据)值的设定方法构建器212采用各种多媒体方法,使得能够方便地设定查询条件项的值,这些方法可以用模板来配置。
查询树生成器210用于基于在GUI 204上显示的查询条件项、逻辑运算符和值设定方法,来构建查询树。查询树生成器210采用树型结构来展现一个复杂查询,并且提供一种直观、灵活、方便的方法来构建和编辑该树型结构。在本发明中,该树型结构有两种不同的节点:叶节点和复合节点。其中叶节点对应着查询条件项(元数据),而复合节点对应着逻辑运算符。复合节点可以包括叶节点和复合节点。
当构建和编辑一个查询树时,XQuery规格化器214将自动校验并生成XQuery。终端用户可以随时查看通过XQuery表示的逻辑表达式,但是不能接触到元数据的XPath。XQuery可以容易地被储存并发送到XQuery引擎,以用于进一步的处理。
另外,本发明的图形化查询构建器200还提供与各种媒体处理器的接口300,使得可以集成更多的值设定方法。
下面,将结合图7详细描述本发明的图形化查询构建器200。图7是根据本发明实施例的用于异构媒体的图形化查询构建器的扩展部件的示意图。
从图7可以看到,除了上面如图5所示的五个部件以外,图形化查询构建器200还包括:元数据和模板构建器201,XQuery去规格化器218,和结果包构建器220。如在现有技术中可知的,本发明的部件201、206、212、210、214、208、218和220可以通过硬件或软件或它们的组合来实现,当用硬件实现时,也可以将其实现为一个部件或多个部件。即,上述部件的功能可以以任何数量的部件的组合的形式来实现。
下面将参照图7来描述图形化查询构建器200的详细操作。
在本发明中,元数据和模板构建器201选择数据源,并关于所选择的数据源来创建查询条件项配置文件和查询条件值配置文件。在本发明中,数据源是关系数据库、XML数据库和其它用户自定义的数据库中的任何一种。根据一组基于MPEG-7的通用元数据来创建查询条件项(用户自定义元数据)。查询条件项配置文件包括外部描述和内部描述。外部描述是指配置文件的名称、创建时间。创建者、和数据源标识符等,而内部描述是指查询条件项等。
在本实施例中,元数据和模板构建器201从一组基于MPEG-7的通用元数据中创建用户自定义元数据,并对所创建的元数据定义相关属性,以创建查询条件项及其值设定方法的模板。
元数据和模板构建器201通过定义一组界面元素组件和一组参数,来定义设定查询条件项的值的方法的列表,以便形成查询条件项值设定方法配置文件。即,查询条件项值设定方法配置文件包括一组界面元素组件和一组参数。该组界面元素组件用来使用户能指定所述值,并且该组参数用来提供候选值。
另外,可以通过其它手段独立地创建逻辑运算符配置文件。可选地,逻辑运算符配置文件也可以由元数据和模板构建器201来创建。
这里,查询条件项配置文件和查询条件项值设定方法配置文件构成了本发明的模板。
下面是模板文件的一个示例。
<?xml version="1.0"encoding="UTF-8"?>
<!-- MPEG-7 Query example -->
<Descriptions>
<Description type="DescriptionMetadata">
<Version></Version>
<Creator></Creator>
<Create Time></Create Time>
<Updator></Updator>
<Update Time></Update Time>
</Description>
<Description type="MediaDescriptionType">
<Media Type></Media Type>
<File Format></File Format>
<File Size></File Size>
<File URL></File URL>
</Description>
<Description type="CreationDescriptionType">
<unit>
<id>Title</id>
<name>Title</name>
<insertCommand>
<xupdate:modifications version="1.0"xmlns="urn:mpeg:mpeg7:schema:2001"xmlns:xupdate="http://www.xmldb.org/xupdate"
:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xupdate:appendselect="/m7:Mpeg7/m7:Description[@xsi:type='CreationDescriptionType']/m7:CreationInformation/m7:Creation">
<xupdate:element name="Title">
<xupdate:attributename='$Title_Type'>main</xupdate:attribute>
$Title_Name
</xupdate:element>
</xupdate:append>
</xupdate:modifications>
</insertCommand>
<queryCommand>
$Title in/m7:Mpeg7/m7:Description[@xsi:type='CreationDescriptionType']/m7:CreationInformation/m7:Creation/m7:Title[$_Condition]
<result>
$_Result
</result>
</queryCommand>
<uid>Title</uid>
<displayName>Title</displayName>
<min>0</min>
<max>10</max>
<element>
<id>Title_Type</id>
<name>Title Type</name>
<type name="Enumerate">
<value>Main</value>
<value>Second</value>
<value>Third</value>
</type>
<relXPath>@type</relXPath>
<eid>Title_Type</eid>
<isUserDefined>false</isUserDefined>
</element>
<element>
<id>Title_Name</id>
<name>Title</name>
<type name="String"></type>
<relXPath>text()</relXPath>
<eid>Title_Name</eid>
<isUserDefined>true</isUserDefined>
<displayName>Title</displayName>
<isMust>false</isMust>
<gui>textInput</gui>
<ria>none</ria>
<dataType>java.lang.String</dataType>
</element>
</unit>
<unit>
<id>Person_Creator</id>
<name>Creator(Person)</name>
<insertCommand></insertCommand>
<queryCommand></queryCommand>
<uid>Person_Creator</uid>
<displayName>Creator</displayName>
<min>0</min>
<max>10</max>
<element>
<id>Person_Creator_Role_Href</id>
<name>Role href</name>
<type name="String"></type>
<relXPath>m7:Role/@href</relXPath>
<eid>Person_Creator_Role_Href</eid>
<isUserDefined>false</isUserDefined>
</element>
<element>
<id>Person_Creator_Role_Name</id>
<name>Role Name</name>
<type name="ControlledTerm">
<value>$Person_Creator_Role_Href</value>
</type>
<relXPath>m7:Role/m7:Name/text()</relXPath>
<eid>Person_Creator_Role_Name</eid>
<isUserDefined>false</isUserDefined>
</element>
<element>
<id>Person_Creator_Name</id>
<name>Person Name</name>
<type name="String"></type>
<relXPath>m7:Agent/m7:Name/m7:GivenName/text()</relXPath>
<eid>Person_Creator_Name</eid>
<isUserDefined>true</isUserDefined>
<displayName>Person Name</displayName>
<isMust>false</isMust>
<gui>textInput</gui>
<ria>none</ria>
<dataType>java.lang.String</dataType>
</element>
<element>
<id>Person_Creator_Organize_Name</id>
<name>Organize Name</name>
<type name="String"></type>
<relXPath>m7:Agent/m7:Affiliation/m7:Organization/m7:Name/text()</relXPath>
<eid>Person_Creator_Organize_Name</eid>
<isUserDefined>true</isUserDefined>
<displayName>Organize Name</displayName>
<isMust>false</isMust>
<gui>textInput</gui>
<ria>none</ria>
<dataType>java.lang.String</dataType>
</element>
<element>
<id>Person_Creator_Email</id>
<name>Email</name>
<type name="String"></type>
<relXPath>m7:Agent/m7:ElectronicAddress/m7:Email/text()</relXPath>
<eid>Person_Creator_Email</eid>
<isUserDefined>true</isUserDefined>
<displayName>Email</displayName>
<isMust>false</isMust>
<gui>textInput</gui>
<ria>none</ria>
<dataType>java.lang.String</dataType>
</element>
</unit>
</Description>
<Description type="ContentEntityType">
</Description>
</Descriptions>
该配置文件包括4个描述部分:
DescriptionMetadata:关于配置文件本身的描述,例如版本、创建者、创建时间、更新者、更新时间等。
MediaDescriptionType:关于目标媒体文件本身的描述,例如媒体类型、文件格式、文件大小、文件路径等。
CreationDescriptionType:关于目标媒体创建信息的描述,例如标题、分类、作者等。
ContentEntityType:关于目标媒体内容的描述,例如关键词、地点、人物、时间、民族等。
每个描述部分均包括若干描述单元,每个描述单元均包括若干描述项。例如,在CreationDescriptionType中包括一个叫做“作者”的描述单元,该描述单元包括诸如作者名称、作者组织名称、作者Email地址等描述项。所以该配置文件对每一个描述单元的属性和每一个描述项的属性均进行了定义。
用户可以选择一个描述单元或者其中一个描述项来构建查询树,并设定它的值。值的设定可以采用合适的多媒体方法,方法的种类取决于<gui>和<ria>两个标签中配置的方法。例如,
<element>
<id>Publish Time</id>
……
<gui>textInput</gui>
<ria>Calendar</ria>
……
</element>
上述配置是指,对于出版日期,用户可以通过手动输入其值,也可以在电子日历中选定日期。
然后,图形化查询构建器200读取模板(XML文件),该模板包括所有的设置信息,如查询条件项及其值设定方法。该XML文件例如是查询条件项配置文件、查询条件项值设定方法配置文件、和/或逻辑运算符配置文件。
具体地,查询条件项构建器206读取查询条件项配置文件,并从查询条件项配置文件中提取所有的查询条件项。将这些查询条件项可视化在GUI 204的查询条件项浏览部分302上;查询条件值设定方法构建器212读取查询条件值设定方法配置文件,并提取设定查询条件项的值所需要的方法(值设定方法)。将值设定方法可视化在查询条件值设定部分306上;逻辑运算符构建器208读取逻辑运算符配置文件,并提取各种逻辑运算符。也将各种逻辑运算符可视化在GUI 204的逻辑运算符部分304上。
接下来,如图6的GUI 204所示,根据可以实现用户想要的查询的逻辑关系,用户分别将查询条件项和逻辑运算符从查询条件项浏览部分302和逻辑运算符部分304拖放到查询树构建部分308。同时,通过使用所选择的值设定方法来设置查询条件项的值。例如,当将查询条件项“位置”拖放到查询树构建部分308时,在查询条件值设定部分306中出现由“位置”表示的区域,用户可以利用输入装置(该输入装置可以是键盘、鼠标等)将文字“青海”输入到该区域中,使得将查询条件项“位置”的值设定为“青海”。这样,通过按照所述逻辑关系进行拖放,就可以形成所需要的查询树结构。
对于每个查询条件项,查询条件项值设定方法构建器212可以提供多种查询条件值设定方法来设定它的值,并且这些方法通过模板(XML文件)来定制。例如,除了键盘,本发明的查询条件值设定方法构建器212还提供各种多媒体方式,诸如提供基于特征或基于样本的候选值,这样就可以提供更高级的定位方法。本发明的查询条件值设定方法可以利用GIS***、材质和纹理选择器、调色板、分类表、图像特征、视频关键帧特征和音频音调等中的任何一种或几种。
例如,GIS***可以精确地定位。此外,用材质和纹理选择器和调色板来设定图像特征,用分类表设定分类,用视频关键帧特征设定视频内容,用音调设定音频特征,等等。在这种情况下,上述表示特定图像、音频和视频内容的所有图像特征、音频特征、视频关键帧特征、和其它分类表可以被用作查询条件项值。这些以多媒体方式提供的查询条件项值可以更清楚、准确地表示查询条件项。
基于此,如图5所示,本发明的查询条件项值设定方法构建器212提供有接口300,其连接于其它的媒体处理器,以便从其它媒体处理器接收表示特定图像、音频和视频内容的图像特征、音频特征、视频关键帧特征、和其它分类表等。即,接口300从外部设备接收多媒体数据,并将其作为查询条件项的值。
例如,如果用户具有一个视频文件,该视频中有一段介绍了一种西藏瓷器,用户希望找出其它介绍该西藏瓷器的信息。
传统的方法是设定关键字,然后在元数据中查找,而不是利用从媒体文件本身提取的特征信息。本发明的图形化查询构建器200提供了与其它视频处理器的接口300。该视频处理器可以分析并提取视频中含有那个西藏瓷器的一组关键帧(静态图片),从而将提取出来的视频关键帧提供给查询条件项值设定方法构建器212,以便将其用作查询条件项的候选值。然后,用户只需要点击某一个关键帧的图片,该***就可以利用基于特征的图片检索找到更多的相关信息,例如其它的图片或者视频。这种查询就不再只是基于媒体文件的元数据,还基于它本身的特征。这种查询方法更为准确。
本发明的图形化查询构建器200中,在控制器202的控制下,将用户在GUI 204上的操作发送到查询树生成器210,该查询树生成器210基于用户在GUI 204上所执行的操作来生成与查询树对应的数据。然后,查询树生成器210将所生成的与查询树对应的数据发送回到GUI 204,以将其可视化。这样,用户可以看见查询模型的树结构。另外,用户可以通过拖放的方法随机地组织和修改该查询树。因此,用户不需要关心查询树构建的顺序,因为他们可以容易地改变查询树中各个元素的顺序、或改变层关系。
同时,当生成查询树时,查询树生成器210还解析该查询树并生成与该查询树对应的XQuery逻辑表达式,并将该XQuery逻辑表达式显示在逻辑表达式预览部分310上,用于用户查看。
然后,查询树生成器210将对应于该查询树的XQuery逻辑表达式发送给控制器(其也可以包括校验器(未示出))202,该控制器202对其进行验证。控制器202验证该XQuery逻辑表达式是否有效。如果控制器202进行的验证是成功的,即该XQuery逻辑表达式有效,则控制器202发送该XQuery逻辑表达式给XQuery规格化器214。
XQuery规格化器214结合一结果包格式配置文件,将该XQuery逻辑表达式进行规格化,所述结果包格式配置文件用以定义待返回的查询结果包的格式。即,XQuery规格化器214将该XQuery逻辑表达式与结果包格式配置相结合,并进行处理,以产生XQuery。即,XQuery不仅表示XML格式的查询,也表示XML格式的结果包,其包含MPEG-7的XPath。XQuery规格化器214将该XQuery发送给运行在服务器(未示出)上的XQuery引擎400,以便进行查询。由于XQuery引擎400的操作是现有技术,不是本发明的重点,故省略对其的详细描述。
如果控制器202执行的验证不成功,即该XQuery逻辑表达式无效,控制器202将执行控制,以在查询树和/或在XQuery逻辑表达式中高亮显示错误的部分,或者在GUI上显示警告和/或指示,以便用户根据具体的错误进行更正。
然后,服务器的XQuery引擎400将执行适当的操作,例如解析该XQuery,针对所选的数据源(如XML数据库)来执行它,并将规格化结果包发送回本发明的图形化查询构建器200。接下来,XQuery去规格化器218接收由XQuery引擎400发送的规格化结果包,并将该规格化结果包去规格化为结果包,并将该结果包发送给结果包构建器220。结果包构建器220对该结果包执行适当的处理,以形成结果,并将所形成的结果可视化在GUI 204上,以供用户查看,或将所形成的结果存储在诸如软盘、快闪存储器、硬盘、CD-R、CD-RW、EPROM等的记录介质上,以供将来使用。
至此为止,已经详细描述了本发明的图形化查询构建器200的操作。所述操作的流程图示于图8中。图8是根据本发明实施例的用于异构媒体的图形化查询构建器所执行的查询的流程图。
如图8所示,在步骤S600中,处理过程开始。在步骤S602和S604中,元数据和模板构建器201选择数据源,并创建模板,该模板包括查询条件项配置文件和查询条件值设定方法配置文件,同时在步骤S604中创建逻辑运算符配置文件。然后,在步骤S606中,查询条件项构建器206解析查询条件项配置文件,以构建查询条件项,并在GUI 204上可视化所述查询条件项。在步骤S608,查询条件值设定方法构建器212解析查询条件值设定方法配置文件,以构建查询条件值设定方法,并在GUI 204上可视化所述查询条件值设定方法。同时,逻辑运算符构建器208解析逻辑运算符配置文件,以构建逻辑运算符,并在GUI204上可视化所述逻辑运算符。
然后,在步骤S612,基于可视化的查询条件项、逻辑运算符、和值设定方法构建查询树。即,通过拖放可视化的查询条件项和逻辑运算符,同时通过使用可视化的查询条件值设定方法设置查询条件项的值,来在GUI 204上构建查询树。同时,在步骤S614,在GUI 204上,由查询树生成器210生成对应于该查询树的XQuery逻辑表达式,供用户查看。
在步骤S616中,控制器202对所产生的XQuery逻辑表达式进行验证,并确定该XQuery逻辑表达式是否有效。如果步骤S616的结果是肯定的,即“是”,则在步骤S618将XQuery逻辑表达式发送给XQuery规格化器214,以将其规格化为XQuery,然后流程前进到步骤S20。否则,如果步骤S616的结果是否定的,即“否”,则在查询树中和/或XQuery逻辑表达式中高亮显示错误部分,或者显示警告和/或指示。在这种情况下,处理流程将返回到步骤S612,以便用户重新布置或修改该查询树。也就是说,可以通过拖放查询条件项和/或逻辑表达式来重新布置查询树的结构。
在步骤S620中,将XQuery发送到XQuery引擎400,以执行查询,并将期望的结果发送回本实施例的图形化查询构建器200。在步骤S622,该处理流程结束。
通过使用本发明,可以实现下列优点:
灵活方便——本发明的图形化查询构建器拥有功能强大的、非常友好的图形化用户界面(GUI),用于创建和编辑复杂的查询。用户不需要专业知识(例如XQuery和MPEG-7)就能构建复杂的查询。用户不需要关心查询逻辑是否正确,查询构建器能够自动判断。当查询逻辑错误时,将自动报警。XQuery是自动生成的,并且用户可以随时检查XQuery逻辑表达式。用户可以通过重新布置查询树来容易地修改XQuery逻辑表达式。条件项和条件项值设定方法(模板),可以根据不同的应用,由用户通过简单地配置自动生成。
直观——以树型结构构建并可视化XQuery,而不是采用文字,方便用户理解查询的语义层次。
可定制——本发明的图形化查询构建器可以轻易地适用于不同的应用场景,并且其功能依赖于原始配置。可以通过模板(XML文件)或规格化的MPEG-7文件来定制查询条件项(元数据)。可根据配置文件动态地生成图形化用户界面。还可以通过模板(XML文件)来定制每个查询条件项的值设定方法。
可扩展——本发明的图形化查询构建器提供了与其它多媒体处理器的接口。
尽管出于说明的目的而描述了本发明的优选实施例,但是本领域的技术人员将理解,在不脱离本发明的范围和精神的情况下,各种修改、增加和替换都是可能的。
Claims (26)
1.一种构建图形化查询的方法,包括步骤:
在图形用户界面上可视化条件项、值设定方法和逻辑运算符;以及
基于被可视化的条件项、值设定方法和逻辑运算符来构建查询树。
2.根据权利要求1所述的方法,还包括步骤:
根据模板来构建所述条件项、值设定方法以及逻辑运算符。
3.根据权利要求1所述的方法,还包括步骤:
在所述图形用户界面上拖放所述条件项和逻辑运算符,以构建所述查询树;以及
通过使用所述值设定方法来设定所述条件项的值。
4.根据权利要求1所述的方法,还包括步骤:
在所述图形用户界面上生成对应于所述查询树的XQuery逻辑表达式。
5.根据权利要求4所述的方法,还包括步骤:
验证所述XQuery逻辑表达式是否有效,并且如果所述XQuery逻辑表达式有效,则结合结果包格式将所述XQuery逻辑表达式规格化为XQuery,并将所述XQuery发送给XQuery引擎来执行查询。
6.根据权利要求1所述的方法,其中所述查询树包括叶节点和复合节点,叶节点对应于条件项,而复合节点对应于逻辑运算符,并且复合节点可以包括叶节点和复合节点两者。
7.根据权利要求1所述的方法,其中所述值设定方法利用文本输入区域、地理信息***、材质和纹理选择器、调色板、分类表、图像特征、视频关键帧特征、和音频音调等中的一种或几种。
8.根据权利要求1所述的方法,其中可以通过对条件项和/或逻辑运算符的拖放操作来重新布置所述查询树的结构。
9.根据权利要求5所述的方法,其中如果所述XQuery逻辑表达式无效,则在所述查询树中和/或所述XQuery逻辑表达式中高亮显示错误部分,或者显示警告和/或指示。
10.根据权利要求2所述的方法,还包括步骤:
选择数据源;和
关于所选择的数据源创建所述模板。
11.根据权利要求10所述的方法,其中数据源是关系数据库、XML数据库、和其它用户自定义数据库中的至少一种。
12.根据权利要求10所述的方法,其中所述模板包括条件项配置文件、条件值设定方法配置文件,以及/或逻辑运算符配置文件。
13.根据权利要求12所述的方法,其中条件项配置文件包括外部描述和内部描述,所述外部描述是指配置文件的名称、创建时间、创建者、和数据源标识符等,所述内部描述是指所述条件项。
14.根据权利要求13所述的方法,还包括步骤:
从基于MPEG-7大纲的一组通用元数据中实例化用户自定义元数据,并定义相关的属性,以创建所述条件项。
15.根据权利要求12所述的方法,其中条件值设定方法配置文件包括一组界面元素组件和一组参数。
16.一种图形化查询构建器,包括:
图形用户界面,用于可视化条件项、值设定方法和逻辑运算符;和
查询树生成器,用于根据所述条件项、值设定方法和逻辑运算符,来构建查询树。
17.根据权利要求16所述的图形化查询构建器,还包括:
条件项构建器,用于从模板中解析并构建条件项;
逻辑运算符构建器,用于从所述模板中解析并构建逻辑运算符;和
条件值设定方法构建器,用于从所述模板中解析并构建值设定方法,并通过使用所述值设定方法来设定所述条件项的值。
18.根据权利要求16所述的图形化查询构建器,还包括:
元数据和模板构建器,用于选择数据源,并关于所述数据源来创建所述模板。
19.根据权利要求16所述的图形化查询构建器,其中所述查询树生成器在所述图形用户界面上生成与所述查询树对应的XQuery逻辑表达式。
20.根据权利要求19所述的图形化查询构建器,还包括:
校验器,用于验证所述XQuery逻辑表达式是否有效。
21.根据权利要求20所述的图形化查询构建器,还包括:
XQuery规格化器,用于如果所述XQuery逻辑表达式有效,则结合一结果包格式将所述XQuery逻辑表达式规格化为XQuery,并将所述XQuery发送给XQuery引擎,以执行查询。
22.根据权利要求21所述的图形化查询构建器,还包括:
XQuery去规格化器,用于从XQuery引擎接收XQuery的结果包,并对所述结果包进行去规格化。
23.根据权利要求22所述的图形化查询构建器,还包括:
结果包构建器,用于从所述XQuery去规格化器接收去规格化的结果包,并产生结果。
24.根据权利要求16所述的图形化查询构建器,其中所述图形用户界面包含下列中的至少一个部分:数据源选择和模板选择部分,条件项浏览部分,逻辑运算符部分,条件值设定部分,查询树构建部分,逻辑表达式预览部分,和操作部分。
25.根据权利要求24所述的图形化查询构建器,其中可以将条件项浏览部分可视化为简单列表的形式、或通过字母排序或通过属性分组的分层结构。
26.根据权利要求16所述的图形化查询构建器,还包括:
接口,用于从外部设备接收多媒体数据,作为条件项的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510088152 CN1904884A (zh) | 2005-07-29 | 2005-07-29 | 用于异构媒体的图形化查询构建器及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510088152 CN1904884A (zh) | 2005-07-29 | 2005-07-29 | 用于异构媒体的图形化查询构建器及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1904884A true CN1904884A (zh) | 2007-01-31 |
Family
ID=37674150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510088152 Pending CN1904884A (zh) | 2005-07-29 | 2005-07-29 | 用于异构媒体的图形化查询构建器及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1904884A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788791A (zh) * | 2008-09-30 | 2010-07-28 | Ics三重自动化软件有限公司 | 用于工业自动化的应用构建器 |
CN102033956A (zh) * | 2010-12-27 | 2011-04-27 | 陆嘉恒 | 具有智能提示功能的图形化xml内容和结构查询*** |
CN102567500A (zh) * | 2011-12-23 | 2012-07-11 | 山东中创软件工程股份有限公司 | 一种元数据文件创建方法、***及服务器 |
CN102663004A (zh) * | 2012-03-19 | 2012-09-12 | 华为技术有限公司 | 图形化呈现条件组合的方法和装置 |
CN103177038A (zh) * | 2011-12-26 | 2013-06-26 | 昆山麦克斯泰科技有限公司 | 一种垂直搜索引擎中的查询表达式 |
WO2014198025A1 (zh) * | 2013-06-10 | 2014-12-18 | 天津海量信息技术有限公司 | 一种信息检索的方法和*** |
CN106708610A (zh) * | 2015-11-17 | 2017-05-24 | 北京京东尚科信息技术有限公司 | 一种业务模型的管理方法和*** |
CN108255963A (zh) * | 2017-12-22 | 2018-07-06 | 北京智慧星光信息技术有限公司 | 一种基于互联网的新闻信息检索的控制方法及装置 |
CN113111239A (zh) * | 2021-04-08 | 2021-07-13 | 北京联创新天科技有限公司 | 一种通用数据库操作方法、装置及其存储介质 |
-
2005
- 2005-07-29 CN CN 200510088152 patent/CN1904884A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788791A (zh) * | 2008-09-30 | 2010-07-28 | Ics三重自动化软件有限公司 | 用于工业自动化的应用构建器 |
CN101788791B (zh) * | 2008-09-30 | 2014-07-30 | Ics三重自动化软件有限公司 | 用于工业自动化的应用构建器 |
CN102033956A (zh) * | 2010-12-27 | 2011-04-27 | 陆嘉恒 | 具有智能提示功能的图形化xml内容和结构查询*** |
CN102567500A (zh) * | 2011-12-23 | 2012-07-11 | 山东中创软件工程股份有限公司 | 一种元数据文件创建方法、***及服务器 |
CN103177038A (zh) * | 2011-12-26 | 2013-06-26 | 昆山麦克斯泰科技有限公司 | 一种垂直搜索引擎中的查询表达式 |
CN102663004A (zh) * | 2012-03-19 | 2012-09-12 | 华为技术有限公司 | 图形化呈现条件组合的方法和装置 |
CN102663004B (zh) * | 2012-03-19 | 2014-11-05 | 华为技术有限公司 | 图形化呈现条件组合的方法和装置 |
WO2014198025A1 (zh) * | 2013-06-10 | 2014-12-18 | 天津海量信息技术有限公司 | 一种信息检索的方法和*** |
CN106708610A (zh) * | 2015-11-17 | 2017-05-24 | 北京京东尚科信息技术有限公司 | 一种业务模型的管理方法和*** |
CN108255963A (zh) * | 2017-12-22 | 2018-07-06 | 北京智慧星光信息技术有限公司 | 一种基于互联网的新闻信息检索的控制方法及装置 |
CN113111239A (zh) * | 2021-04-08 | 2021-07-13 | 北京联创新天科技有限公司 | 一种通用数据库操作方法、装置及其存储介质 |
CN113111239B (zh) * | 2021-04-08 | 2024-03-29 | 北京联创新天科技有限公司 | 一种通用数据库操作方法、装置及其存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1904884A (zh) | 用于异构媒体的图形化查询构建器及其方法 | |
CN1287310C (zh) | 组成多媒体文件的方法和装置 | |
CN1314226C (zh) | 多媒体文件共享方法和装置 | |
CN1218265C (zh) | 数据库检索装置及方法 | |
CN1248139C (zh) | 用于表达频道化数据的***和方法 | |
CN1841376A (zh) | 对网络表单的数据驱动动作 | |
CN1783792A (zh) | 动态内容改变通知 | |
CN1858786A (zh) | 一种电子文档格式化批注***与方法 | |
CN1328668A (zh) | 用于指定网络上的位置的***和处理 | |
CN101052948A (zh) | 对象过程图应用程序开发*** | |
CN1533163A (zh) | 电子节目指南数据的自由文本和属性搜索 | |
CN101048773A (zh) | 文件分析***、以及文件适应*** | |
CN1992728A (zh) | 用于便利分组合作的***和方法 | |
CN1959673A (zh) | 信息处理装置、内容再现装置、信息处理方法、事件日志创建方法以及计算机程序 | |
CN1321277A (zh) | 数据库*** | |
CN1682217A (zh) | 媒体资料合成 | |
CN1613047A (zh) | 文件***外壳 | |
CN1955908A (zh) | 显示信息的方法和程序以及信息处理装置 | |
CN1578949A (zh) | 数据对象导向的储存*** | |
CN1823335A (zh) | 抽象数据链接和联接接口 | |
CN1625740A (zh) | 元数据的索引结构、提供元数据索引的方法、以及使用元数据的索引的元数据搜索方法和装置 | |
CN1768373A (zh) | 信息处理装置、信息处理方法、及计算机程序 | |
CN1551016A (zh) | 文件管理方法及其装置和注解信息产生方法及其装置 | |
CN1680942A (zh) | 文档组分析设备、文档组分析方法及文档组分析*** | |
CN1677399A (zh) | 分级数据库管理的***、方法和程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |