Claims
- 1. A method for querying instances of asset classes in a digital library, comprising:
providing at least one asset class having at least one attribute, wherein each attribute is defined to have an attribute object type; providing asset object instances for the attributes in the asset classes; providing a query indicating an asset name, search predicate, at least one attribute operator, and attribute value, wherein the attribute operator is associated with at least one attribute included in the indicated asset name; and processing the query by accessing asset object instances of the asset name to determine asset object instances whose attribute object for the attribute associated with the attribute operator matches the attribute value and satisfies the search predicate.
- 2. The method of claim 1, wherein the query includes multiple attribute operators and attribute values to query asset object instances whose attribute objects match the attribute values and search predicate for each attribute operator.
- 3. The method of claim 1, wherein each asset object instance includes information on a file location of attribute objects providing the attributes for the asset object instance, and wherein processing the query to search the attribute object comprises accessing the attribute object at the file location indicated in the asset object instance having the attribute object.
- 4. The method of claim 3, wherein an attribute for each asset is defined to have an attribute object type indicating one of a plurality of different data structure formats that are searchable through separate application programs, and wherein processing the query to search the attribute object further comprises:
determining from the object type for the attribute associated with the attribute operator one application program capable of accessing the attribute object type; and calling the determined application program to determine whether the attribute object for the asset object instance includes the attribute value in the query.
- 5. The method of claim 4, wherein at least one attribute object comprises a database object accessed through a database application program and at least one attribute object comprises a text object accessed through a text search engine application program.
- 6. The method of claim 5, wherein one attribute is defined to have an attribute object comprising at least one multimedia file.
- 7. The method of claim 1, wherein one attribute comprises a relationship attribute that defines an association of a first and second asset types and a relationship attribute object associating instances of the first and second asset types, wherein the attribute operator for a relationship attribute is associated with one attribute from the first and second asset types, wherein processing the query to search the attribute object for each asset object instance of the first asset type further comprises:
accessing the relationship attribute object to determine all asset object instances of the second asset type associated with the asset object instance; and for each determined asset object instance, processing the query by determining the determined asset object instances of the second type whose attribute object for the attribute of the second asset type associated with the attribute operator matches the attribute value and satisfies the search predicate.
- 8. The method of claim 7, wherein the relationship attribute object comprises a database table, wherein a first column in the database table is for unique identifiers of instances of the first asset type and a second column in the database table is for unique identifiers of instances of the second asset type, wherein a row in the database table identifies one instance of the first asset type identified by the unique identifier in the first column of the row that is associated with one instance of the second asset type identified by the unique identifier in the second column of the row.
- 9. The method of claim 1, wherein the definition of each attribute for an asset class is implemented in an Extensible Markup Language (XML) document, wherein each defined attribute for an asset class comprises a tagged element in the XML document and wherein information for each attribute is embedded in at least one tagged attribute of the tagged element for the attribute.
- 10. The method of claim 1, further comprising:
generating a graphical user interface accessible to a user including fields for receiving user input indicating an asset name, search predicate, at least one attribute operator and attribute value, wherein the query is provided through data entered by the user into the fields.
- 11. The method of claim 10, further comprising:
in response to receiving a user entered asset name for the query, determining attribute operators associated with attributes of the asset name; generating a display of a list of the determined attribute operators; and receiving user selection of one of the determined attribute operators from the displayed list, wherein the user selected attribute operator is used in the query.
- 12. A system for querying data, comprising:
a digital library including asset classes; a computer readable medium including:
(i) a definition of at least one asset class having at least one attribute, wherein each attribute is defined to have an attribute object type; (ii) asset object instances for the attributes in the asset classes; (iii) a query indicating an asset name, search predicate, at least one attribute operator, and attribute value, wherein the attribute operator is associated with at least one attribute included in the indicated asset name; and means for processing the query by accessing asset object instances of the asset name to determine asset object instances whose attribute object for the attribute associated with the attribute operator matches the attribute value and satisfies the search predicate.
- 13. The system of claim 12, wherein the computer readable medium comprises a plurality of computer readable devices, wherein the computer readable devices comprise at least one of storage devices, memory devices, and transmission media.
- 14. The system of claim 12, wherein the query includes multiple attribute operators and attribute values to query asset object instances whose attribute objects match the attribute values and search predicate for each attribute operator.
- 15. The system of claim 12, wherein each asset object instance includes information on a file location of attribute objects providing the attributes for the asset object instance, and wherein the means for processing the query to search the attribute object further accesses the attribute object at the file location indicated in the asset object instance having the attribute object.
- 16. The system of claim 15, wherein an attribute for each asset is defined to have an attribute object type indicating one of a plurality of different data structure formats that are searchable through separate application programs, and wherein processing the query to search the attribute object further comprises:
means for determining from the object type for the attribute associated with the attribute operator one application program capable of accessing the attribute object type; and means for calling the determined application program to determine whether the attribute object for the asset object instance includes the attribute value in the query.
- 17. The system of claim 16, wherein at least one attribute object comprises a database object accessed through a database application program and at least one attribute object comprises a text object accessed through a text search engine application program.
- 18. The system of claim 17, wherein one attribute is defined to have an attribute object comprising at least one multimedia file.
- 19. The system of claim 12, wherein one attribute comprises a relationship attribute that defines an association of a first and second asset types and a relationship attribute object associating instances of the first and second asset types, wherein the attribute operator for a relationship attribute is associated with one attribute from the first and second asset types, wherein the means for processing the query to search the attribute object for each asset object instance of the first asset type performs:
accessing the relationship attribute object to determine all asset object instances of the second asset type associated with the asset object instance; and for each determined asset object instance, processing the query by determining the determined asset object instances of the second type whose attribute object for the attribute of the second asset type associated with the attribute operator matches the attribute value and satisfies the search predicate.
- 20. The system of claim 19, wherein the relationship attribute object comprises a database table, wherein a first column in the database table is for unique identifiers of instances of the first asset type and a second column in the database table is for unique identifiers of instances of the second asset type, wherein a row in the database table identifies one instance of the first asset type identified by the unique identifier in the first column of the row that is associated with one instance of the second asset type identified by the unique identifier in the second column of the row.
- 21. The system of claim 12, wherein the definition of each attribute for an asset class is implemented in an Extensible Markup Language (XML) document, wherein each defined attribute for an asset class comprises a tagged element in the XML document and wherein information for each attribute is embedded in at least one tagged attribute of the tagged element for the attribute.
- 22. The system of claim 12, further comprising:
means for generating a graphical user interface accessible to a user including fields for receiving user input indicating an asset name, search predicate, at least one attribute operator and attribute value, wherein the query is provided through data entered by the user into the fields.
- 23. The system of claim 22, further comprising:
means for determining attribute operators associated with attributes of the asset name in response to receiving a user entered asset name for the query; means fo generating a display of a list of the determined attribute operators; and means for receiving user selection of one of the determined attribute operators from the displayed list, wherein the user selected attribute operator is used in the query.
- 24. An article of manufacture including code for querying instances of asset classes in a digital library, wherein the code causes operations comprising:
providing at least one asset class having at least one attribute, wherein each attribute is defined to have an attribute object type; providing asset object instances for the attributes in the asset classes; providing a query indicating an asset name, search predicate, at least one attribute operator, and attribute value, wherein the attribute operator is associated with at least one attribute included in the indicated asset name; and processing the query by accessing asset object instances of the asset name to determine asset object instances whose attribute object for the attribute associated with the attribute operator matches the attribute value and satisfies the search predicate.
- 25. The article of manufacture 24, wherein the query includes multiple attribute operators and attribute values to query asset object instances whose attribute objects match the attribute values and search predicate for each attribute operator.
- 26. The article of manufacture 24, wherein each asset object instance includes information on a file location of attribute objects providing the attributes for the asset object instance, and wherein processing the query to search the attribute object comprises accessing the attribute object at the file location indicated in the asset object instance having the attribute object.
- 27. The article of manufacture 26, wherein an attribute for each asset is defined to have an attribute object type indicating one of a plurality of different data structure formats that are searchable through separate application programs, and wherein processing the query to search the attribute object further comprises:
determining from the object type for the attribute associated with the attribute operator one application program capable of accessing the attribute object type; and calling the determined application program to determine whether the attribute object for the asset object instance includes the attribute value in the query.
- 28. The article of manufacture 27, wherein at least one attribute object comprises a database object accessed through a database application program and at least one attribute object comprises a text object accessed through a text search engine application program.
- 29. The article of manufacture 24, wherein one attribute is defined to have an attribute object comprising at least one multimedia file.
- 30. The article of manufacture 24, wherein one attribute comprises a relationship attribute that defines an association of a first and second asset types and a relationship attribute object associating instances of the first and second asset types, wherein the attribute operator for a relationship attribute is associated with one attribute from the first and second asset types, wherein processing the query to search the attribute object for each asset object instance of the first asset type further comprises:
accessing the relationship attribute object to determine all asset object instances of the second asset type associated with the asset object instance; and for each determined asset object instance, processing the query by determining the determined asset object instances of the second type whose attribute object for the attribute of the second asset type associated with the attribute operator matches the attribute value and satisfies the search predicate.
- 31. The article of manufacture 30, wherein the relationship attribute object comprises a database table, wherein a first column in the database table is for unique identifiers of instances of the first asset type and a second column in the database table is for unique identifiers of instances of the second asset type, wherein a row in the database table identifies one instance of the first asset type identified by the unique identifier in the first column of the row that is associated with one instance of the second asset type identified by the unique identifier in the second column of the row.
- 32. The article of manufacture 24, wherein the definition of each attribute for an asset class is implemented in an Extensible Markup Language (XML) document, wherein each defined attribute for an asset class comprises a tagged element in the XML document and wherein information for each attribute is embedded in at least one tagged attribute of the tagged element for the attribute.
- 33. The article of manufacture 24, further comprising:
generating a graphical user interface accessible to a user including fields for receiving user input indicating an asset name, search predicate, at least one attribute operator and attribute value, wherein the query is provided through data entered by the user into the fields.
- 34. The article of manufacture 33, further comprising:
in response to receiving a user entered asset name for the query, determining attribute operators associated with attributes of the asset name; generating a display of a list of the determined attribute operators; and receiving user selection of one of the determined attribute operators from the displayed list, wherein the user selected attribute operator is used in the query.
RELATED APPLICATIONS
[0001] This application is related to the co-pending and commonly assigned patent application entitled “Method, System, and Program for Defining Asset Classes in a Digital Library”, having attorney docket no. STL920000050US1, which patent application is filed on the same date herewith and incorporated herein by reference in its entirety.