US20070100862A1 - Adding attributes and labels to structured data - Google Patents

Adding attributes and labels to structured data Download PDF

Info

Publication number
US20070100862A1
US20070100862A1 US11/256,883 US25688305A US2007100862A1 US 20070100862 A1 US20070100862 A1 US 20070100862A1 US 25688305 A US25688305 A US 25688305A US 2007100862 A1 US2007100862 A1 US 2007100862A1
Authority
US
United States
Prior art keywords
attribute
attributes
type
data
data item
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.)
Abandoned
Application number
US11/256,883
Inventor
Bindu Reddy
Marshall Spight
Ning Mosberger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to US11/256,883 priority Critical patent/US20070100862A1/en
Assigned to GOOGLE, INC. reassignment GOOGLE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOSBERGER, NING, REDDY, BINDU, SPIGHT, MARSHALL
Priority to CA002626856A priority patent/CA2626856A1/en
Priority to JP2008537678A priority patent/JP2009512953A/en
Priority to EP05853989A priority patent/EP1955137A4/en
Priority to AU2005337489A priority patent/AU2005337489B2/en
Priority to PCT/US2005/045189 priority patent/WO2007046829A2/en
Priority to KR1020087012450A priority patent/KR20080080098A/en
Publication of US20070100862A1 publication Critical patent/US20070100862A1/en
Priority to US12/469,468 priority patent/US20100094848A1/en
Priority to JP2011252727A priority patent/JP5300960B2/en
Priority to US13/348,613 priority patent/US20120290557A1/en
Priority to US13/974,868 priority patent/US9792333B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • Conventional search engines are capable of searching extremely large collections of information, such as the world wide web or very large databases. As the size of data collections to be searched grows, it is no longer enough to correctly return query results that match query terms entered by a user. Instead, it is desirable to provide a mechanism to help the user sort through the large amount of data returned from a search.
  • search engines usually operate on data from only a few sources.
  • web-based search engines traditionally allow a user to search pages on the world wide web.
  • Web-search engines often have a “back-end” that indexes the collection of information in order to make it searchable.
  • web-based search engines periodically crawl the world wide web and create indices of the pages and sites crawled.
  • Other search engines allow a user to search existing databases.
  • Such search engines rely on a predetermined organization of the database. For example, if a database has known fields and attributes, the user can search within those attributes.
  • XML databases only accept well-formed XML inputs. If the data to be searched is not so-organized, XML databases are generally not able to accept the data or organize the data for search.
  • search engines allow a user to search databases or to search text documents having a flat organization. Such search engines must know about the organization of the database and the organization of the documents within it. The variety of locations and formats in which data are stored means that users must often search in multiple locations in multiple databases to find the information that they need.
  • the described embodiments of the present invention associate labels and attribute values with data items to be searched.
  • Providers can associate attributes and labels with their data or attributes and labels can be added to existing data.
  • a preferred embodiment allows a content provider to attach his own custom labels and attributes to items or to use predefined labels and attributes.
  • Providers can upload data using a user interface or a bulk upload mechanism.
  • FIG. 1 ( a ) is a block diagram showing a data processing system in accordance with a preferred embodiment of the present invention.
  • FIG. 1 ( b ) is a block diagram showing another data processing system in accordance with a preferred embodiment of the present invention.
  • FIG. 1 ( c ) is an architecture diagram in accordance with a preferred embodiment of the invention.
  • FIG. 2 ( a ) is a flowchart showing an overview of creation of a collection of data items searchable in accordance with a preferred embodiment of the present invention.
  • FIG. 2 ( b ) is a flowchart showing an overview of searching the collection of documents and refining the search in accordance with a preferred embodiment of the present invention.
  • FIG. 3 ( a ) is a flowchart showing a method of extracting labels and attributes from a collections of data items.
  • FIG. 3 ( b ) is a flowchart showing a method of receiving a query term and displaying a query result.
  • FIG. 3 ( c ) is a flowchart showing a method of determining which attributes to display for a given query result.
  • FIG. 3 ( d ) is a flowchart showing a method of allowing the user to refine the displayed query result using labels and/or attribute values.
  • FIG. 3 ( e ) shows a method performed periodically to determine whether any new, provider provided attributes should be added to the Core attributes for an information type.
  • FIG. 4 ( a ) is an example screen shot of a search engine and a query term entered by a user.
  • FIG. 4 ( b ) is an example screen shot showing query result from the query of FIG. 4 ( a ) and also showing labels and attributes relating to the query result for the query term.
  • FIGS. 4 ( c )- 4 ( g ) are example screen shots showing additional attributes and labels and how a user might narrow his search using attributes and/or labels.
  • FIG. 5 ( a ) shows a data format used to store attributes and labels for a collection of searchable data.
  • FIG. 5 ( b ) shows an example of an attribute stored using the format of FIG. 5 ( a ).
  • FIG. 5 ( c ) shows an example of a label stored using the format of FIG. 5 ( a ).
  • FIG. 5 ( d ) shows an example data structure to map information types to their attributes.
  • FIG. 5 ( e ) shows an example of an information type mapped to some example attributes for that information type.
  • FIGS. 6 ( a )- 6 ( e ) are example screen shots showing a user interface allowing a provider to edit and enter data into the system.
  • FIG. 7 is an example screen shot showing a user interface for registering a bulk upload file.
  • FIGS. 8 ( a )- 8 ( d ) show how a provider does a bulk upload of data and attribute values.
  • FIG. 1 ( a ) is a block diagram 100 showing a data processing system in accordance with a preferred embodiment of the present invention.
  • FIG. 1 ( a ) includes a plurality of client data processing systems 110 a . . . 110 n , a network 130 , and a server data processing system 120 .
  • an example user data processing system 110 a includes a processor 140 , a browser 150 , and a memory 160 .
  • User data processing system 100 or its components can be any appropriate data processing system including but not limited to a personal computer, a wired networked computer, a wireless network computer, a mobile phone or device containing a mobile phone, a handheld device, a thin client device, some combination of the above, and so on.
  • Network 130 can be any network that allows communication between one or more of the user data processing systems 110 and the server data processing system 120 .
  • network 130 can be but is not limited to the Internet, a LAN, and WAN, a wired network, a wireless network, a mobile phone network, a network transmitting text messages, some combination of the above.
  • user data processing system 110 a includes browser software 150 in memory 160 that is executed by processor 140 to allow the user to communicate with server system 120 .
  • browser 150 allows the user to communicate with server data processing system 120 to send query terms to the server data processing system 120 and to receive query results from the system 120 .
  • browser 150 allows the user to receive labels and attributes associated with the query result and to use the labels and attributes to further define a query result.
  • Some of all of the software and computer-executable instructions discussed herein are capable of being stored as a computer program product on a computer-readable medium, including but not limited to: a memory of a data processing system, a CD ROM, a flash memory, a floppy disk, or capable of being transmitted as signals over a network or between system components.
  • Server data processing system 120 includes a processor 170 that executes search and query engine software 185 to enable server system 120 to search a collection of structured data 190 for a query term.
  • Search and query engine 185 is also called “search engine”).
  • structured data is fielded data, i.e., data items, each having one or more data fields (such as Name, address, status, etc).
  • Memory 180 also includes an attribute repository 195 , which stores the attributes (and labels) for some or all of the data items in structured data 190 .
  • the repository is discussed below in connection with FIG. 5 .
  • repository 195 is shown as being a part of collection of structured data 190 , repository 195 may also be separate from collection of data 190 .
  • Search engine 185 is shown in FIG. 1 ( a ) as being in a single memory 180 , although a large search engine and a large collection of data may be stored in many ways, including but not limited to distributed data processing systems, cooperating data processing systems, networks data processing systems, and so on.
  • Search engine 185 can be software, hardware, firmware, or any combination of these.
  • a query term is entered by a user via one or more of the plurality of user systems 110 and transmitted to server data processing system 120 via network 130 . Details of methods used by server 120 to receive, index, and search the collections of data are discussed in detail herein.
  • FIG. 1 ( b ) is a block diagram 111 showing another data processing system in accordance with a preferred embodiment of the present invention.
  • the user stores a personal data collection 190 on his machine 110 .
  • a personal search engine will access and organize this data to make it searchable by the user and possibly by other users over network 130 .
  • Such a system also would allow databases and other types of data collections to be added to the pool of searchable documents that are accessible by the central search engine.
  • data collection 190 is stored on a user's data processing system 110 or an enterprise server (not shown) and may be made available to a selected group of persons or individuals, such as only to the user, only to a smaller sub-set of users, or to all users who are aware of how to access data collection 190 .
  • the ability to filter searches via attributes and labels, as described herein can be part of a personal search engine 185 that runs locally on a computer or on a local network of computers.
  • the Google Desktop Search tool available from Google, Inc. of Mountain View, Calif., is a search tool that runs on a user's desktop and indexes data on his personal computer.
  • Google Desktop search incorporating the present invention would give the user the ability to search databases and other types of data collections stored on or accessible from his desktop.
  • a university library can make all of its online collection available to students, faculty, and alumni of the university. In such as case, the information would not be on a publicly available server, but would be stored in a server of the university and would be accessible and searchable only to those persons (and programs) permitted access by the university data provider. In the example, the university would also be able to control which providers had the ability to add to the data collection.
  • FIG. 1 ( c ) is an architecture diagram 131 in accordance with a preferred embodiment of the invention.
  • providers can use one or more of three ways of inputting data and attributes to the system.
  • a provider-facing front end 132 (see, for example, FIG. 6 ( b )) allows a provider to enter data items and attributes using a user interface provided for that purpose.
  • the provider can also perform a bulk upload 133 of data items (see, for example, FIGS. 8 ( a )- 8 ( d )).
  • the provider can also upload 134 items from a specific URL (for example, using FTP).
  • Search and Query engine 185 indexes items in the collection of data 190 , preferably including the entered attributes and their values for the data items to produce an index of all data 137 .
  • Search engine 185 also allows a user to enter a query (see, for example, FIG. 4 ( a )).
  • the system also includes an Application Program Interface (API) to allow software programs to query the data via search engine 185 .
  • API Application Program Interface
  • FIG. 2 ( a ) is a flowchart 200 showing an overview of creation a collection of data items searchable in accordance with a preferred embodiment of the present invention.
  • server 120 receives 202 a collection of data items. This data can be received either as a result of a standard web crawl or can be provided by one or more providers who desire their data to become searchable.
  • the received collection of data items is processed to extract labels, attributes, and attribute values as described below and those labels, attributes, and attribute values are associated with the various information types. In certain circumstances, a user will provide attribute names and/or attribute values for some or all of the entered data.
  • a user may upload a database that he has created to hold a collection of medical journals. He may have specified attributes to these journals with values reflecting attribute names such as “Journal,” “year of publication,” “Journal Name.” He may also enter zero or more labels for each journal such as “Medical,” “Dental,” “From Harvard,” and so on. Labels are a special kind of attribute (also called a valueless tag) that do not have values associated with them. Details of element 204 are discussed in connection with FIG. 3 ( a ).
  • FIG. 2 ( b ) is a flowchart 210 showing an overview of searching the collection of documents and refining the search in accordance with a preferred embodiment of the present invention.
  • the user enters 212 one or more query terms (such as “cancer receptor” 402 in the screen shot 400 of FIG. 4 ( a )).
  • the user may also enter attribute names and values as part of a query typed into area 402 .
  • the user might type the following into area 402 :
  • the system determines 213 a query result as discussed in more detail below in connection with FIG. 3 ( b ).
  • the query result is displayed 213 at this point.
  • the query result is not displayed yet, but instead the user is asked to further refine his search by selecting labels and/or attributes specific to the query term. As shown in, for example, FIG. 3 ( d ), the user can refine his search 214 by specifying labels and attributes.
  • FIG. 3 ( a ) is a flowchart 300 showing a method of extracting labels and attributes from a collections of data items. This method is part of the set-up process used to organize collections of data so that they can be searched.
  • An attribute is a name/value pair having a name, such as “journal,” which then has one or more possible values of the names of journals.
  • attributes and labels are specified by a provider of data.
  • determining attributes is merely a matter of identifying user-provided attributes and labels.
  • labels and attributes are derived by software for a collection of data. Deriving labels and attributes may involve a purely automated process in which potential values for a predetermined list of labels and attributes are found within the data collection by software. For example, in a listing of items for sale (e.g., Google's Froogle system) price amounts meeting predetermined criteria are assigned as values of a “Price” attribute for that item.
  • software performs an interactive process with the provider in which the software proposes attribute/value pairs, which are then accepted or rejected by the provider.
  • html tags are scanned and information discovered is used to derive attribute values for the pages having the tags. As an example, if a page contains an html comment:
  • the software would obtain a current price from the indicated URL and make it the value of a Price attribute for that web page.
  • attributes and labels have been associated 306 with data items, the data items are indexed 309 so that they can be searched.
  • attributes and labels and their values also are indexed, although in other preferred embodiments, they are searched separately or indexed separately.
  • FIG. 5 ( a ) shows an example of a format 500 used to store labels and attributes in repository 195 .
  • Each item is associated with specific attributes and labels appropriate to its type. For example—A job posting may have the attributes, job function—product management, employer—ABC Corporation and job type—Professional. Attributes and labels in a preferred embodiment can have values of the following types:
  • Attributes and labels are indicated in storage by metatags as follows: ⁇ start name> name ⁇ /end name> ⁇ start value> value ⁇ /end value>
  • each attribute is a name/value pair, such as an attribute name of “journal” and a value for the “journal” attribute of “Journal of Inflammation.” (see FIG. 5 ( b )).
  • Each label has only a name, such as “Medical” which would indicate that a particular journal is a medical journal (see FIG. 5 ( c )).
  • the information type of a data item is also the name of one of its labels.
  • a data item having an information type of “Events and Activities” would also have a label with the same name. That way, a user can search for data having a particular information type by specifying a label with the same name as the data item's information type.
  • FIG. 5 ( d ) shows an example data structure to map information types to their attributes.
  • the attributes of the item can be determined by accessing the data structure of FIG. 5 (i c), which includes the attributes and their attribute type for the information type “Product.”
  • each information type has predefined attributes.
  • the values of an attributes are of an attribute type.
  • FIG. 5 ( e ) shows some actual values.
  • an information type of “Journal” has an attribute of “Journal name” with values of attribute type string and a label of “Medical” with null values.
  • Such attributes would, for example, allow a user to search for a particular journal title or to search for all medical journals.
  • the information type of “Product” has an attribute of “NumAvail,” which indicates a number of a particular product that are available for sale and has an attribute type of integer. All attributes are optional. Providers may choose to populate any of the attributes suggested to them or create their own
  • FIG. 3 ( b ) is a flowchart 310 showing a method of displaying a query result in response to a received query term or terms.
  • a query result is determined by search engine 185 .
  • a query of “cancer receptor” 402 might return 312 a query result 406 of items having attributes 404 such as those shown in FIG. 4 ( b ).
  • some embodiments of the present invention determine but not display the query result 406 at this point.
  • a query result is determined for a query (and optionally displayed), at least some of the attribute names and labels for the query result are displayed 322 .
  • the data items in the data set 406 have certain information types. Attributes 404 that are initially displayed are some or all of the attributes for the information types of the data items in query result 406 .
  • the query result will have data items, each of which have different attributes.
  • the attributes that show up on top of the query result are the attributes are most common in the query result and the ones that have been clicked on or refined by searchers the most.
  • Query “housing” has a lot of items with bedrooms and bathrooms as attributes and searchers have always refined by the attributes “bathrooms” and “bedrooms” for the query housing. So bedrooms and bathrooms should show up on the top line above the search results
  • FIG. 4 ( b ) shows query result 406 and a plurality of attribute and label names 404 (“journal,” “pubmed,” “news source,” “authors”).
  • the numbers after each attribute indicate the number of items in the query result 406 that have the attribute associated with it.
  • query result 406 includes 2050 items having an associated “journal” attribute/label.
  • the number and identity of the attributes shown with a particular query result is query-dependent, and is further dependent on the attributes and labels later chosen to narrow the search.
  • FIG. 3 ( c ) is a flowchart 340 showing a method of determining which attributes to display for a given query result 406 .
  • the q most relevant results are determined 341 by search engine 185 and the n most popular attributes are determined 342 for the q most relevant results.
  • the system determines 344 the top m attribute/label values. It then calculates 348 histograms, or offer counts, by counting the number of matching offers in the set of relevant results.
  • the values q, n, and m are all configurable. Example values, which are not to be taken in a limiting sense are: q-1,000-100,000 K (q can also be set to ALL results that match a particular query term.)
  • N is in the range of 100s and M is in the range of 20-100.
  • the attributes are normalized 346 before histograms are determined.
  • a certain amount of data cleanup and normalization is done when the data is initially stored in data collection 190 .
  • data normalization is done on the fly based on the query term being searched (e.g., when the query term is “autos” it makes sense to normalize all “brand” attributes to “make”, however if the query is “handbag” it makes sense to normalize all make attributes to “brand”)
  • Other embodiments may do more normalization at the time data is received into collection of data 190 .
  • Data normalization is accomplished in a preferred embodiment by:
  • Stemming is particularly useful in systems where providers specify their own attributes names, allowing variations and misspellings to creep into data collection 190 .
  • Stemming allows a user to filter by attribute names of “Journal,” “journasl,” “Journsl” and so on with a single selection of the stemmed attribute “Journals.”
  • attributes added by providers are type checked. For example, URL, DateTime, Number, String, Location, Boolean attributes are checked to see if they are valid values. Some embodiments ping each URL value to see if it is active, although this is optional for various implementations.
  • locations are Geocoded so that they can be referenced by on online mapping service such as, for example, GoogleMaps. In certain embodiments, attributes of “location” that cannot be geocoded are considered invalid.
  • FIG. 4 ( c ) shows an example in which a use has selected the attribute “journal” from FIG. 4 ( b ) and is preparing to enter in field 408 the names of journals to which he wishes to confine his search. Notice that the query term 402 is now “cancer receptor filter: journal.” The attribute “journal” has disappeared from the listed Core attributes 404 .
  • the user selects a second attribute “year” 410 and enters a year or range or years over which he wishes to search in the specified journals query term.
  • the attribute year is of an attribute type “range of years”.
  • the query term 402 is now “cancer receptor filter: journal filter: year.”
  • the attribute “year” has disappeared from the listed attributes 404 .
  • the search is performed again using the selected attributes as filters and a display such as that of FIG. 4 ( e ) is displayed.
  • the user can select one or more popular attributes for displayed query result and can filter an initial search in accordance with the displayed attributes (or labels). If the user leaves an attribute value blank, all attribute values are matched. For example, if the user selects the attribute Journal but does not enter a journal name, all data items with an attribute of journal (and similarly named attributes) are selected as possible candidates for the query result. Data items not having an attribute of Journal are not selected for the query result.
  • FIG. 4 ( d ) shows an example where a user has selected more than one attribute or label to narrow the search.
  • multiple labels and attributes are selected by clicking on multiple labels and attributes of the attributes and labels 404 .
  • Other preferred embodiments allow labels and attributes to be entered into the search window 402 . For example, if an attribute Price exists, the user might type the following as a query term:
  • This query would locate data items in the current query result having an attribute of Price and an attribute value of $150.
  • the user might type:
  • This query would locate data items in the current query result having an attribute of Price, and Attribute value of $150, and a label of SmallerThanABreadBox.
  • Other preferred embodiments would use other appropriate user interface elements to allow a user to logically combine attributes and labels.
  • FIG. 4 ( e ) shows a query result limited to particular journals of a particular year or range of years as specified in FIG. 4 ( d ).
  • the user is allowed to decide whether he wants to continue to search within journals 412 or whether to search the entire collection of data items (e.g., “Search all of Googlebase”) 413 .
  • the user is offered the choice of several labels in area 414 (“biotechnology, ” “medical,” and “photography,” which respectively are associated with 30, 15, and 6 items in the query result 406 ′).
  • the user is further offered a choice to specify values for the attributes in area 416 : Date, author, pubmed, citation.
  • the user is also offered the option of sorting 416 the query result 406 ′ by relevance, date attribute, or any of the attributes that the user has defined by. (e.g. price, location, etc.).
  • the user has selected attribute “Date” from area 414 of FIG. 4 ( e ) and is given a chance to enter a date 420 .
  • the drop-down operator “between” he is given the opportunity to select a date range (as shown).
  • the attribute “Date” has disappeared from the listed attributes 418 .
  • the attribute of “Author” has disappeared from attributes 414 . Attributes disappear if they are no longer are relevant to the query and the query result.
  • the fact that the user has not filtered by the journal now assumes that he is looking only at the restricted item set. The user selects the Go button to perform a search and the author term reappears.
  • FIG. 4 ( g ) shows the user specifying an author name 422 .
  • new attributes and labels show up since the attributes and labels are based on the query result and the query result constantly changes.
  • Go button 423 When the user presses the Go button 423 , another search is performed, further filtering the query result to reflect the attributes and attribute values specified by the user.
  • Queries and indexing that reference repository 195 preferably support the following operators:
  • Repository 195 can be queried in at least the following ways:
  • This query ability allows the user to enter the following types of attribute queries:
  • Page rank is the provider's website page rank. Page rank does not exist in cases where the items are hosted in a collection of data 190 and/or items are not linked or connected to other items.
  • Item rank can be determined by a number of factors.
  • the two main signals are
  • certain parameters can be set in the system. These parameters include a maximum number of items per provider. This prevents crowding of the page by a specific provider
  • Attribute names should also be searchable as complete names. Phrases are weighted heavily compared to words that occur far away. Labels are weighted more heavily than titles, which are weighted more heavily than descriptions. Attribute values are weighted the same as labels.
  • Merchant crowding by each provider may be turned on or off by the user to regulate whether a page number of items from an individual provider are or are not displayed as a result of a search. Depending on the search performed, merchant crowding may or may not be desirable.
  • the system defines a structure of a particular type of new item based on the attributes associated with other items of the same or similar type (e.g., If most items of information type “Jobs” have attributes of Job function, Job type and Employer than the common attribute structure for the data item of information type “job” will default to be job type, employer and job function). Searchers and other programs can query the data-set with queries such as “Give me all jobs whose employer is ABC Corporation and whose job-type is product management).
  • Core attributes for the various information types in structured data 190 may need to be updated. As data is added to the collection of structured data, certain attributes may become popular that were not initially popular. For example, a “Season” attribute having an attribution type of integer might specify which season of a television show a cast picture is from may not have been initially contemplated by the initial core attributes for the information type “TV shows” but it may become popular as more and more cast pictures are added to the collection of data. In some embodiment, core attributes also are auto-updated based on popularity and seasonality and after passing through a spam filter.
  • FIG. 3 ( e ) shows a method 350 performed periodically to determine whether any new, provider-provided attributes should be promoted to the Core attributes for an information type.
  • the core group of attributes for an item information type is the attributes that are automatically offered whenever a provider adds a new item of the information type. In a preferred embodiment, only Core attributes are offered to decrease the possibility that a provider will spam attributes in order to force his way into the displayed attributes.
  • the method looks at the most popular user-added attributes for that information type 322 and promotes the most popular attributes to Core Attributes for that information type.
  • “Most popular,” as used to decide which attributes to promote to Core attributes, is defined differently for different embodiments.
  • most popular can be the attribute not in the Core Attributes that is most-often selected 352 by users over a predetermined period of time, such as a week or month, for example.
  • most popular can be the attribute not in the Core Attributes that has data items appear most often in query result over a predetermined period of time.
  • most popular can be the attribute not in the Core Attributes that appears in a largest number of providers' data over a predetermined period of time. Most popular can be determined in any appropriate way as long as it causes attributes that will be useful in narrowing a search to be added to the Core Attributes.
  • providers may have started adding an attribute of “blogged” for an item information type of article to indicate that the article has been mentioned in a blog. Such an attribute would have a URL attribute type, indicating the URL of the blog where the item was mentioned.
  • a threshold number 354 of unique providers or users use a particular new attribute for an information type, the attribute is added 356 to the Core group of attributes for that information type.
  • the Threshold value will be based on the total number of providers using the system. It will start with something as low as 2-3 and will be increased to larger numbers.
  • a similar method is performed for labels to add popular labels to a core set of labels.
  • promoted attributes will be sanity checked by a human being or appropriate software or hardware implemented method.
  • FIGS. 6 ( a )- 6 ( e ) are example screen shots showing how a provider can edit items in a data collection.
  • a provider is anyone who adds or is capable of adding content to the collection of data 190 .
  • collection of data 190 is data owned by one or more providers, such as an individual, a non-profit organization, or a company.
  • the embodiment allows such providers to set-up and populate their own collections of structured data (e.g., databases) via the web and to make those collections searchable via the web or similar network. It is contemplated that providers will be willing to store data in a central repository, either for a fee or in exchange for their permission to allow the data to be searched by others. In such a situation, the data collection can be searched via a web or network based browser, such as the Google browser or Google desktop search engine, in a version that contains some or all or the functionality described herein.
  • FIGS. 6 ( a )- 6 ( e ) are example screen shots showing a user interface allowing a provider to edit and enter data into the system.
  • FIG. 6 ( a ) shows a user interface 600 that allows a provider to view and edit data items in collection of data 190 .
  • the user interface can also be used to add items to collection of data 190 .
  • An area 602 contains a partial listing of items in the collection of data 190 .
  • this listing includes item title 601 , an item type (also called an information type) 605 , Status 603 , an Expiration date, a number of impressions (the number of times an item has been displayed), a number of clicks on the object, and the click-through rate, the number of times an item was clicked on in search results.
  • a provider can also search either his personal data collection 620 or search the entire data collection 622 .
  • the provider can also view inactive items 616 or upload bulk files 618 .
  • Each data item has an associated “edit” link 619 .
  • a provider can only edit his own data items.
  • An area 604 allows the provider to display a selection device such as a dropdown menu showing existing information types (Events and Activities, Housing, etc). If the provider selects an information type, he can add a description of the information type in area 606 for his data.
  • FIG. 6 ( b ) shows a user interface that allows a provider to view and edit 610 data items in collection of data 190 .
  • the items have an information type of “News and articles.” If the provider had selected a data item in area 602 of FIG. 6 ( a ), that item's information would be displayed in the fields of area 611 . In the example, however, the provider did not select an item, so the provider is free to enter a new data item.
  • an information type of “News and Articles” 610 contains the following fields: Title, Pictures, Description and a link 614 (e.g., a URL) to be displayed in a query result.
  • the user interface of FIG. 6 ( b ) also allows the provider to edit the attributes and labels of the item. Note that, while each information type has associated attributes, not all data items of a particular type have values for all possible attributes for that information type.
  • the provider has indicated that a quantity of “1” of the item is available or exists. No value is specified for the Author or News Source attributes for this item. Each of those attributes have an attribute type of “text.” The provider is free to add value for the attributes of individual data items.
  • the provider can also add an attribute using area 613 . Here, the provider can add an attribute name and an attribute value.
  • the provider can provide attribute values relating to contact information in area 618 .
  • the provider can provide attribute values relating to location information in area 619 .
  • the provider can add labels to the item in area 619 .
  • the information type is a default attribute name.
  • the information type is News and Articles and this is also a label.
  • FIG. 6 ( c ) shows the user interface of FIG. 6 ( b ) that allows a provider to view and edit 610 data items in collection of data 190 .
  • the provider can add a name and value for a new provider-defined attribute 613 .
  • the default attribute type is “text” the provider can choose another attribute type, such as number unit, number, data range, large text, URL, Boolean, and location.
  • FIG. 6 ( d ) shows a user interface that allows a provider to view and edit 610 data items in collection of data 190 .
  • the items have an information type of “Products” 630 . If the provider had selected a data item in area 602 of FIG. 6 ( a ), that item's information would be displayed in the fields of area 611 . In the example, however, the provider did not select an item, so the provider is free to enter a new item using user interface 630 .
  • an information type of “Products” contains the following fields: Title, Pictures, Description and a link 634 (e.g., a URL) to be displayed in a query result.
  • the user interface of FIG. 6 ( d ) also allows the provider to edit the attributes and labels of the item.
  • each information type has associated attributes, not all data items of a particular information type have values for all possible attributes for that information type.
  • the provider has indicated that a Price of $150 per item (as opposed to per pound or per dozen for example). A quantity of “1” is specified.
  • Price type is the type of price the provider is setting (e.g. Best offer, negotiable, fixed etc). No values are specified for Price option, Brand, Condition, and Product Type for this item.
  • Each of those attributes have an attribute type of “text.”
  • the provider can change the attribute type. for those attributes that he specified.
  • the provider is free to add values for the attributes of individual data items.
  • the provider can also add an attribute using area 613 . Here, the provider can add an attribute name and an attribute value.
  • attributes that a provider adds are added to all of his items of the current information type.
  • all of the provider's items of type “Products” are given the newly added attribute 613 once it is defined.
  • the values for each item are normally added individually.
  • Certain embodiments also allow a provider to specify a value for all of his items of a specified information type. As discussed above, it is possible for the new attribute to graduate to the Core set of attributes.
  • new attributes are not always added to all items of the information type.
  • providers can agree that a defined group of providers will all have the same attributes, so that when one provider adds an attribute, the others in the group will also have the same attribute.
  • the provider can provide attribute values relating to contact information in area 618 .
  • the provider can provide attribute values relating to location information in area 619 .
  • the provider can provide attribute values relating to Payment methods in area 638 .
  • the provider can add labels to the item in area 616 .
  • the information type is a default attribute name.
  • the information type is Products and this is also a label.
  • labels that a provider adds are not added to all of his items of the current type (except for labels that are the information type). As discussed above, it is possible for a new label to graduate to the Core set of labels. In other embodiments, new labels are always added to all items of the information type.
  • FIG. 6 ( e ) shows the user interface of FIG. 6 ( d ) that allows a provider to view and edit 630 data items in collection of data 190 .
  • Contacts, Payments, and Location are all attributes of the Product information type. They are attributes having a complex type (not just integers or simple strings).
  • the provider can add values relating to contacts 618 for items of information type “Products.”
  • the provider specifies some or all of Nickname, phone number, email address (potential values taken from a database of provider information, not shown).
  • the provider can add values relating to Payments 638 for items of information type “Products.”
  • the provider specifies some or all of Payment Method and Notes.
  • the provider can add values relating to Locations 619 for items of information type “Products.”
  • the provider specifies some or all of Text notes (e.g, “Fremont, Calif.”).
  • Contact, Payment, and Location values are entered separately for each item. Values that a provider adds are not added to all of his items of the current information type. Here, for example, not all of the provider's items of information type “Products” are given the Contact, Payment, and Location values shown in FIG. 6 (e). The values for each item are normally added individually. Certain embodiments also allow a provider to specify values for all of his items of a specified information type. For example, payment information may be the same for all “Products” of a provider.
  • Promoters can either enter items through the UI of FIG. 6 or via a bulk upload method shown in FIGS. 7 and 8 .
  • FIG. 7 is an example screen shot 700 showing a user interface for registering a bulk upload file.
  • the bulk upload file is used to create or add to collection of data 190 .
  • a flat file of items that are all of the same information type are to be added.
  • the File Name 712 is “local inventory”.
  • the provider chooses an data type 714 that is a predefined information type or a custom information type (see, for example, Table 1).
  • the provider chooses a language 716 for text strings in the data.
  • a provider can upload files using a web-based uploading interface or using another mechanism such as FTP (File Transfer Protocol) or an RSS feed (see, for example, Table 5). See also examples in Tables 6 and 7.
  • FIG. 8 ( a ) shows a format 801 for a tab-delimited file to be bulk uploaded.
  • data items are a part of the uploaded file that also contains attributes.
  • data items and attributes are uploaded in separate files that are constructed so that it is clear which attribute values belong with which data items.
  • FIG. 8 ( b ) is a flowchart 800 of an example method used by a provider to create a bulk upload file.
  • a provider can be a human being, or hardware or software.
  • Element 802 Open a new file in a spreadsheet program
  • the described method uses a spreadsheet program, such as Microsoft Excel, to create a bulk upload file.
  • a spreadsheet program like Microsoft Excel makes it easy to create a bulk upload and convert it to the proper format.
  • Other methods can be used that result in an appropriately formatted file.
  • Element 804 Create a header row
  • the header row for a product bulk upload might look like row 832 in FIG. 8 ( c ). Specify each of the columns in the bulk upload according to the information type of item that the provider would like to submit (see 714 of FIG. 7 ). On the first row of the spreadsheet 832 , enter the name of each of the attributes that the provider would like to include to describe his items. This is the header row.
  • the content of the header row will depend on the information type of information submitted, and whether the provider is sending a defined information type, or one that he created himself.
  • Bulk uploads can be used to submit any type of information. If a provider is sending his own information type, he can use any combination of predefined attributes. Examples of predefined attributes are shown in Table 2. In a preferred embodiment, it is strongly recommended that providers use the predefined attributes. A provider can also include an unlimited number of custom attributes: A provider should pick a set of attributes that best describes his items
  • a provider can send a bulk upload for one of the defined information types.
  • Table 1 is a list of example information types and their attribute names that he may use.
  • Table 3 is an example of required attributes for a particular information type (“Events”).
  • Table 4 is an example of recommended attributes for a particular information type (“Events”). It is strongly recommended that that a provider include them in his bulk upload. They allow more accurately matching of items to search queries. The more information a provider gives, the easier it will be for users to locate items. In a preferred embodiment, a provider must include these recommended attributes to enable a provider's items to appear in a significant portion of searches done.
  • Element 806 Enter item information
  • each row 834 a provider enters information for an item in his data collection.
  • Each piece of information should reflect the header of the column it is in. (For example, a product's price should go under the “price” header).
  • Each row includes only include one item per row. See FIG. 8 ( c ).
  • FIG. 8 ( d ) shows a user interface 840 to upload a file.
  • Element 812 Check the bulk upload for errors
  • a provider After a provider has sent a bulk upload, he can see the bulk upload's status by logging in to a central web site. If the outcome is listed as ‘Success’, the bulk upload does not need to be altered. Otherwise, the provider can click on the bulk upload's filename to see information on how to correct the error(s).
  • the file After a bulk upload is uploaded, the file will be processed to add the items, attributes, and labels to data collection 190 and the data structure of FIG. 5 . Once an upload has been approved, any future updates with the same filename will be processed automatically.
  • certain preferred embodiments include methods and systems for detecting invalid or “spammy” attributes and labels. It is undesirable for a provider to add attributes to his data that will allow the data items to come to the top of a search. Some methods that are used to avoid such attributes include blacklisting, specific histograms distributions, and so on.
  • the displayed top attributes and labels are determined based not just on popularity of the attribute key-type tuples and labels but on distribution of values (more discrete the distribution the better and the more the skew the better. e.g. 5 popular values for an attribute are better that 50 values distributed evenly. Example if color is an attribute and we see Red, Blue and Green as the top colors than it would be a good attribute to refine by. On the other hand having 100 values to color each of which occur three times is not so helpful.
  • Another preferred embodiment performs sophisticated confidence scores based on the number of providers who use an attribute, the item rank/offer rank of each offer.
  • Another preferred embodiment uses click signals from users to determine which attributes to display to the user. Attributes and labels are scored by something defined as popularity rank:
  • publication_volume pages Reviews - reviews of rating_type, rating, related_link, publish_date, any item.
  • Boilerplate text (e.g., “We accept MasterCard & Visa.”) education Level of education required for the job position.
  • Good PhD employer Company that the job position applies to.
  • Good Google, Inc ethnicity Ethnicity of the person in the personal entry.
  • Good Latino event_date_range Date and time the event will take place. This can either be a start date or a date range. Times are based on the 24 hour clock. If a range of dates are included, separate the start and end dates by a hyphen.
  • IMPORTANT Once a provider submits an item with a unique id, this identifier must not change when he send in a new bulk upload. Each item must retain the same id in subsequent bulk uploads.
  • image_link URL of an associated image Use your full-sized images; do not use thumbnail images. Up to ten image_urls, separated by a comma, can be included with each item. If you do not have an image available, leave the attribute blank.
  • vehicle_type The type of vehicle. Car, motorcycle, scooter, etc.
  • Good truck vin Vehicle Identification Number.
  • Good 1M8GDM9AXKP042788 weight Weight of an item. Numeric values only.
  • Good: 1b Good kg year The four digit model year or year built.
  • Custom attributes allow you to include additional information about your item. You can include an unlimited number of custom attributes with types.
  • c:cooking_ingredient:string lets us know that the custom attribute “c:cooking_ingredients” has the value “string.” Examples of typed attributes you may submit are - Brand of your product - Header - c:brand:string Event Date of your Street Fair - Header - c:event_date:dateTime The following types are supported.
  • Attributes Required These attributes are common across all information types. You should include these attributes where relevant. Attribute Name Explanation title The name or title. Maximum of 80 characters. description Text describing the item. We search over this text when matching user queries to your item. The maximum length for the description is 65536 characters. Not Acceptable: Extra promotional text or keywords that do not appear on your web site. Boilerplate text (e.g., “We accept MasterCard & Visa.”) link URL of the web page associated with the item.
  • Attribute Name Explanation price Prices can be a single price, 0 (free), or blank if not applicable. Numeric values only. Not Acceptable: Using commas instead of decimals Examples: Good: 5.95 Good: 0 Bad: 5,95 (This is the same as entering 595 as the price) Bad: 5.00-10.00 Bad: 1000 or best offer Bad: free price_unit Use when price depends on quantity, frequency, or duration. The default is per “item.” Examples: Good: monthly Bad: 500/monthly price_type The type of pricing for the item.
  • a range of dates are included, separate the start and end dates by a hyphen.
  • Custom Custom attributes allow you to include additional attribute] information about your item. You can include an unlimited number of custom attributes with types. To define a custom attribute, you must start the attribute with a c: (example - If you would like to define an attribute called cooking_ingredients, the attribute in the header column should be called c:cooking_ingredients.) You must use underscores (_) to denote spaces. You may also include typing information based on your custom attribute.
  • Example: c:cooking_ingredient:string lets us know that the custom attribute “c:cooking_ingredients” has the value “string.” Examples of typed attributes you may submit are - Brand of your product - Header - c:brand:string Event Date of your Street Fair - Header - c:event_date:dateTime The following types are supported. Type Description Header Column Values string Any string c:brand:string sony number_units * Any number c:megapixels:number_units 10 Date Time Range - YYYY-MM-
  • the Set 1 Simple-type attributes at ⁇ item> level
  • Examples of some attributes include the “g:” prefix. This prefix is required when including these attributes in you bulk udloads. Actor Details Actor featured in the video. Example ⁇ g:actor>Charlie Chaplin ⁇ /g:actor> Attribute Products of Content String type
  • area_unit Details Unit of measurement used to describe the area of a piece of real estate. Default is square foot.
  • condition Details Condition of the item For example: new, used, or refurbished.
  • delivery_radius Details The maximum distance you will deliver an item in any direction.
  • description - ⁇ item> level Details A statement that represents an item in words. This information is searched over when matching user queries to an item. The maximum length for the description is 65536 characters. Extra promotional text or keywords are not acceptable.
  • for_sale Details Information about whether or not a property is for sale or not. Acceptable values are “Y” or “N”.
  • Gender of an individual in a Personals bulk upload item Acceptable values are “Male”, “M”, “Female”, or “F”.
  • hoa_dues Details Monthly dues paid to a homeowners association. If there are no monthly dues, leave this attribute blank.
  • id Details Unique alphanumeric identifier for each item - e.g., your internal ID code.
  • IMPORTANT Once you submit an item with a unique id, this identifier must not change when you send in a new bulk upload. Each item must retain the same id in subsequent bulk uploads.
  • image_link Details The URL of an associated image for an item, if available online. Up to 10 image URLs can be submitted per item. Enter the fully qualified URL, including the http:// Acceptable: Tracking URLs are acceptable; however, higher- level category pages and relative URLs are not.
  • job_function Details The function of an employment position.
  • job_industry Details The industry of an employment position.
  • label Details A list of classifications the item may fall under. Up to 10 user- selected label, each placed in between their own ⁇ label> and ⁇ /label> tags, can be included with each item.
  • location Details Location of a property. Should include street, city, state, postal code, and country, in that order. When used as a sub-attribute of ⁇ inventory_location>, the value represents the location where inventory is housed.
  • marital_status Details Marital status of an individual in a Personals bulk upload entry. For example—single, divorced, separated, widowed, married, and “in relationship.”
  • memory_unit Details Unit of measurement used to describe the amount of memory.
  • model_number Details Model number of the product.
  • Payment_accepted Details Acceptable payment methods for item purchases. Acceptable values are “Cash,” “Check,” “Traveler's Check,” “Visa,” “MasterCard,” “American Express,” “Discover,” “Wire transfer” or “Paypal.” If you accept more than one method, include multiple instances of the ⁇ payment_accepted> attribute for each acceptable method.
  • Example Acceptable ⁇ g:payment_accepted>Cash ⁇ /g:payment_accepted> ⁇ g:payment_accepted>Check ⁇ /g:payment_accepted> ⁇ g:payment_accepted>Paypal ⁇ /g:payment_accepted> Not acceptable: ⁇ g:payment_accepted>Cash Check Paypal ⁇ /g:payment_accepted> Attribute Events, Housing, Products, Services, Travel, Vehicles of Content paymentMethodEnumeration type
  • Price Details Prices can be a single price, 0 (free), or blank if not applicable.
  • Price_type Details The type of pricing for the content. Acceptable values are “negotiable,” or “starting at.” The default is “starting at.” Example Acceptable: ⁇ g:price_type>starting at ⁇ /g:price_type> Not Acceptable: ⁇ g:price_type>100 OBO ⁇ /g:price_type> Attribute Events, Housing, Products, Services, Travel, Vehicles of Content priceTypeEnumeration type
  • Price_unit Details Use when price depends on quantity, frequency, or duration. The default is “per item.”
  • processor Details The processor speed for the product.
  • processor_unit Details Unit of measurement used to describe processor speed.
  • property_type Details Type of property: house, apartment, condominium, etc. Example ⁇ g:property_type>house ⁇ /g:property_type> Attribute Research studies and publications, News and Articles, of Reviews Content string type
  • rating_type Details The type of rating being provided: editorial (a review written by a member of your staff) or “user” ( a review written by a user of your site)
  • editorial a review written by a member of your staff
  • user a review written by a user of your site
  • service_type Details The type of service being offered. Web hosting, legal, gardening, etc.
  • size_unit Details Unit of measurement used to describe the dimensions of an item.
  • tax_region Details Geographical region a tax rate applies to.
  • vehicle_type Details The type of vehicle: Car, motorcycle, scooter, etc.
  • Custom attribute allow you to include additional information about your item. You can include an unlimited number of custom attributes with types. Please see our Google Base Provider Module for details on formatting a custom attribute.
  • Event_dateTime> ⁇ g:from>2005-12-20,14:00 ⁇ /g:from> ⁇ g:to>2005-12-20, 19:00 ⁇ /g:to> ⁇ /g:eventdateTime> Attribute Events of Content dateTimeRangeType type
  • travel_date_range Details Departure date and time of the trip. Format: YYYY-MM-DD,hh:mmAM (12 hour clock) or YYYY-MM-DD,hh:mm (24 hour clock). Two sub-attributes are included in travel_date_range attribute.
  • start Start date and time of a trip in format YYYY-MM-DD
  • end End date and time of a trip in format YYYY-MM-DD
  • shipping Details Shipping options available for an item Up to 10 shipping options can be included for each item. Three sub-attributes are included in the shipping attribute.
  • price the price of shipping.

Abstract

A method and system associating labels and attribute values with items in a collection of data. Providers can associate attributes and labels with their data or attributes and labels can be added to existing data. A preferred embodiment allows a content provider to upload data and to attach their own custom labels and attributes to items or to use predefined labels and attributes. Providers can upload data using a user interface or a bulk upload mechanism.

Description

    RELATED APPLICATIONS
  • This application is related to U.S. application Ser. No. ______, entitled “Search Over Structured Data,” of Reddy et al., which is filed herewith on Oct. 23, 2005, and which is herein incorporated by reference.
  • BACKGROUND OF THE INVENTION
  • Conventional search engines are capable of searching extremely large collections of information, such as the world wide web or very large databases. As the size of data collections to be searched grows, it is no longer enough to correctly return query results that match query terms entered by a user. Instead, it is desirable to provide a mechanism to help the user sort through the large amount of data returned from a search.
  • Several conventional search engines currently use various methods to organize the data returned in query result. The goal of such an organization method is to decide which query result will most interest the user. Conventional search engines generally use a variety of techniques to prioritize the results of a search, but these techniques are not ideal because they must make assumptions about the type of information for which the user is searching. For example, if the user enters “jobs” he might be searching for job postings, information of Steve Jobs, job statistics for a particular country, or any number of other items. Thus, when using a conventional search engine, a user would not enter just “jobs” as a query term. He would probably also enter additional query terms that narrowed the search. Unfortunately, he may also miss relevant listings that do not contain the narrowing terms.
  • Currently, it is difficult to search over different types of data that may or may not be stored on the world wide web. Conventional search engines usually operate on data from only a few sources. For example, web-based search engines traditionally allow a user to search pages on the world wide web. Web-search engines often have a “back-end” that indexes the collection of information in order to make it searchable. For example, web-based search engines periodically crawl the world wide web and create indices of the pages and sites crawled. Other search engines allow a user to search existing databases. Such search engines rely on a predetermined organization of the database. For example, if a database has known fields and attributes, the user can search within those attributes. For example, XML databases only accept well-formed XML inputs. If the data to be searched is not so-organized, XML databases are generally not able to accept the data or organize the data for search.
  • Other search engines allow a user to search databases or to search text documents having a flat organization. Such search engines must know about the organization of the database and the organization of the documents within it. The variety of locations and formats in which data are stored means that users must often search in multiple locations in multiple databases to find the information that they need.
  • It would be desirable for a collection of documents to be searchable via a web-based search engine and thus easily accessible to most people while, at the same time, containing a variety of types of documents and formats of data. Moreover, it would be desirable if the searchable collections of documents were organized in ways that could help users fine-tune their searches.
  • SUMMARY OF THE INVENTION
  • The described embodiments of the present invention associate labels and attribute values with data items to be searched. Providers can associate attributes and labels with their data or attributes and labels can be added to existing data. A preferred embodiment allows a content provider to attach his own custom labels and attributes to items or to use predefined labels and attributes. Providers can upload data using a user interface or a bulk upload mechanism.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings. Like reference numerals are used for like elements in the accompanying drawings.
  • FIG. 1(a) is a block diagram showing a data processing system in accordance with a preferred embodiment of the present invention.
  • FIG. 1(b) is a block diagram showing another data processing system in accordance with a preferred embodiment of the present invention.
  • FIG. 1(c) is an architecture diagram in accordance with a preferred embodiment of the invention.
  • FIG. 2(a) is a flowchart showing an overview of creation of a collection of data items searchable in accordance with a preferred embodiment of the present invention.
  • FIG. 2(b) is a flowchart showing an overview of searching the collection of documents and refining the search in accordance with a preferred embodiment of the present invention.
  • FIG. 3(a) is a flowchart showing a method of extracting labels and attributes from a collections of data items.
  • FIG. 3(b) is a flowchart showing a method of receiving a query term and displaying a query result.
  • FIG. 3(c) is a flowchart showing a method of determining which attributes to display for a given query result.
  • FIG. 3(d) is a flowchart showing a method of allowing the user to refine the displayed query result using labels and/or attribute values.
  • FIG. 3(e) shows a method performed periodically to determine whether any new, provider provided attributes should be added to the Core attributes for an information type.
  • FIG. 4(a) is an example screen shot of a search engine and a query term entered by a user.
  • FIG. 4(b) is an example screen shot showing query result from the query of FIG. 4(a) and also showing labels and attributes relating to the query result for the query term.
  • FIGS. 4(c)-4(g) are example screen shots showing additional attributes and labels and how a user might narrow his search using attributes and/or labels.
  • FIG. 5(a) shows a data format used to store attributes and labels for a collection of searchable data.
  • FIG. 5(b) shows an example of an attribute stored using the format of FIG. 5(a).
  • FIG. 5(c) shows an example of a label stored using the format of FIG. 5(a).
  • FIG. 5(d) shows an example data structure to map information types to their attributes.
  • FIG. 5(e) shows an example of an information type mapped to some example attributes for that information type.
  • FIGS. 6(a)-6(e) are example screen shots showing a user interface allowing a provider to edit and enter data into the system.
  • FIG. 7 is an example screen shot showing a user interface for registering a bulk upload file.
  • FIGS. 8(a)-8(d) show how a provider does a bulk upload of data and attribute values.
  • The figures depict embodiments of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
  • DETAILED DESCRIPTION OF EMBODIMENTS
  • The following paragraphs describe various embodiments of a system to upload and search structured data in accordance with the present invention.
  • FIG. 1(a) is a block diagram 100 showing a data processing system in accordance with a preferred embodiment of the present invention. FIG. 1(a) includes a plurality of client data processing systems 110 a . . . 110 n, a network 130, and a server data processing system 120. In the Figure, an example user data processing system 110 a includes a processor 140, a browser 150, and a memory 160. User data processing system 100 or its components can be any appropriate data processing system including but not limited to a personal computer, a wired networked computer, a wireless network computer, a mobile phone or device containing a mobile phone, a handheld device, a thin client device, some combination of the above, and so on. Network 130 can be any network that allows communication between one or more of the user data processing systems 110 and the server data processing system 120. For example, network 130 can be but is not limited to the Internet, a LAN, and WAN, a wired network, a wireless network, a mobile phone network, a network transmitting text messages, some combination of the above.
  • In a preferred embodiment of the invention, user data processing system 110 a includes browser software 150 in memory 160 that is executed by processor 140 to allow the user to communicate with server system 120. As described below in detail, such a browser 150 allows the user to communicate with server data processing system 120 to send query terms to the server data processing system 120 and to receive query results from the system 120. As further described below, browser 150 allows the user to receive labels and attributes associated with the query result and to use the labels and attributes to further define a query result. Although the embodiments discussed herein are browser-based, the invention is not limited to browser-based searching and any appropriate mechanism for communication between user 110 and sever 120 may be used without departing from the spirit and scope of the invention.
  • Some of all of the software and computer-executable instructions discussed herein are capable of being stored as a computer program product on a computer-readable medium, including but not limited to: a memory of a data processing system, a CD ROM, a flash memory, a floppy disk, or capable of being transmitted as signals over a network or between system components.
  • Server data processing system 120 includes a processor 170 that executes search and query engine software 185 to enable server system 120 to search a collection of structured data 190 for a query term. (Search and query engine 185 is also called “search engine”). One example of structured data is fielded data, i.e., data items, each having one or more data fields (such as Name, address, status, etc).
  • Memory 180 also includes an attribute repository 195, which stores the attributes (and labels) for some or all of the data items in structured data 190. The repository is discussed below in connection with FIG. 5. Although repository 195 is shown as being a part of collection of structured data 190, repository 195 may also be separate from collection of data 190.
  • Search engine 185, repository 195, and collection of structured data 190 are all shown in FIG. 1(a) as being in a single memory 180, although a large search engine and a large collection of data may be stored in many ways, including but not limited to distributed data processing systems, cooperating data processing systems, networks data processing systems, and so on. Search engine 185 can be software, hardware, firmware, or any combination of these.
  • In a preferred embodiment, a query term is entered by a user via one or more of the plurality of user systems 110 and transmitted to server data processing system 120 via network 130. Details of methods used by server 120 to receive, index, and search the collections of data are discussed in detail herein.
  • FIG. 1(b) is a block diagram 111 showing another data processing system in accordance with a preferred embodiment of the present invention. In FIG. 1(b), the user stores a personal data collection 190 on his machine 110. It is contemplated that a personal search engine will access and organize this data to make it searchable by the user and possibly by other users over network 130. Such a system also would allow databases and other types of data collections to be added to the pool of searchable documents that are accessible by the central search engine.
  • In the embodiment of FIG. 1(b), data collection 190 is stored on a user's data processing system 110 or an enterprise server (not shown) and may be made available to a selected group of persons or individuals, such as only to the user, only to a smaller sub-set of users, or to all users who are aware of how to access data collection 190. In such a case, the ability to filter searches via attributes and labels, as described herein, can be part of a personal search engine 185 that runs locally on a computer or on a local network of computers. For example, the Google Desktop Search tool, available from Google, Inc. of Mountain View, Calif., is a search tool that runs on a user's desktop and indexes data on his personal computer. An implementation of Google Desktop search incorporating the present invention would give the user the ability to search databases and other types of data collections stored on or accessible from his desktop.
  • It would also give the user the ability to organize his data with useful attributes and labels. For example, a university library can make all of its online collection available to students, faculty, and alumni of the university. In such as case, the information would not be on a publicly available server, but would be stored in a server of the university and would be accessible and searchable only to those persons (and programs) permitted access by the university data provider. In the example, the university would also be able to control which providers had the ability to add to the data collection.
  • FIG. 1(c) is an architecture diagram 131 in accordance with a preferred embodiment of the invention. In the described embodiment, providers can use one or more of three ways of inputting data and attributes to the system. A provider-facing front end 132 (see, for example, FIG. 6(b)) allows a provider to enter data items and attributes using a user interface provided for that purpose. The provider can also perform a bulk upload 133 of data items (see, for example, FIGS. 8(a)-8(d)). The provider can also upload 134 items from a specific URL (for example, using FTP). Search and Query engine 185 indexes items in the collection of data 190, preferably including the entered attributes and their values for the data items to produce an index of all data 137. Search engine 185 also allows a user to enter a query (see, for example, FIG. 4(a)). The system also includes an Application Program Interface (API) to allow software programs to query the data via search engine 185.
  • FIG. 2(a) is a flowchart 200 showing an overview of creation a collection of data items searchable in accordance with a preferred embodiment of the present invention. As is discussed below in connection with FIGS. 6(a)-6(e) and FIG. 8(a)-8(d), server 120 receives 202 a collection of data items. This data can be received either as a result of a standard web crawl or can be provided by one or more providers who desire their data to become searchable. The received collection of data items is processed to extract labels, attributes, and attribute values as described below and those labels, attributes, and attribute values are associated with the various information types. In certain circumstances, a user will provide attribute names and/or attribute values for some or all of the entered data. As an example, a user may upload a database that he has created to hold a collection of medical journals. He may have specified attributes to these journals with values reflecting attribute names such as “Journal,” “year of publication,” “Journal Name.” He may also enter zero or more labels for each journal such as “Medical,” “Dental,” “From Harvard,” and so on. Labels are a special kind of attribute (also called a valueless tag) that do not have values associated with them. Details of element 204 are discussed in connection with FIG. 3(a).
  • FIG. 2(b) is a flowchart 210 showing an overview of searching the collection of documents and refining the search in accordance with a preferred embodiment of the present invention. In a described embodiment, the user enters 212 one or more query terms (such as “cancer receptor” 402 in the screen shot 400 of FIG. 4(a)).
  • In certain embodiments, the user may also enter attribute names and values as part of a query typed into area 402. For example the user might type the following into area 402:
      • cancer receptor attr(JournalType: medical)
        If the user knows that some items in the query result have an attribute named JournalType but that the attribute is not part of the Core set of attributes, and the user wants to return only medical journals.
  • The system determines 213 a query result as discussed in more detail below in connection with FIG. 3(b). In some embodiments, the query result is displayed 213 at this point. In other embodiments, the query result is not displayed yet, but instead the user is asked to further refine his search by selecting labels and/or attributes specific to the query term. As shown in, for example, FIG. 3(d), the user can refine his search 214 by specifying labels and attributes.
  • FIG. 3(a) is a flowchart 300 showing a method of extracting labels and attributes from a collections of data items. This method is part of the set-up process used to organize collections of data so that they can be searched.
  • Once the data items are received, for each data item having an information type, the system determines 304 labels and attributes for this information type. An attribute is a name/value pair having a name, such as “journal,” which then has one or more possible values of the names of journals.
  • In a preferred embodiment, attributes and labels are specified by a provider of data. Thus, determining attributes is merely a matter of identifying user-provided attributes and labels.
  • In certain cases, a provider of data does not specify attributes and labels for his items. For example, if the items are web pages located by a web crawler, the owners of the web pages do not have an opportunity to specify attributes or labels for their pages. Thus, in another preferred embodiment, labels and attributes are derived by software for a collection of data. Deriving labels and attributes may involve a purely automated process in which potential values for a predetermined list of labels and attributes are found within the data collection by software. For example, in a listing of items for sale (e.g., Google's Froogle system) price amounts meeting predetermined criteria are assigned as values of a “Price” attribute for that item. In another preferred embodiment, software performs an interactive process with the provider in which the software proposes attribute/value pairs, which are then accepted or rejected by the provider. In another preferred embodiment, html tags are scanned and information discovered is used to derive attribute values for the pages having the tags. As an example, if a page contains an html comment:
      • <! Current price is at http://www.todayspricesforbigco.com % id=32423490 !>
  • The software would obtain a current price from the indicated URL and make it the value of a Price attribute for that web page.
  • Once attributes and labels have been associated 306 with data items, the data items are indexed 309 so that they can be searched. In a first preferred embodiment, attributes and labels and their values also are indexed, although in other preferred embodiments, they are searched separately or indexed separately.
  • FIG. 5(a) shows an example of a format 500 used to store labels and attributes in repository 195. Each item is associated with specific attributes and labels appropriate to its type. For example—A job posting may have the attributes, job function—product management, employer—ABC Corporation and job type—Professional. Attributes and labels in a preferred embodiment can have values of the following types:
      • BOOLEAN
      • INT
      • FLOAT
      • URL
      • STRING
      • LOCATION
      • DATE
      • DATE RANGE
  • Attributes and labels are indicated in storage by metatags as follows:
    <start name>
     name
    </end name>
    <start value>
     value
    </end value>
  • Thus, in a preferred embodiment, each attribute is a name/value pair, such as an attribute name of “journal” and a value for the “journal” attribute of “Journal of Inflammation.” (see FIG. 5(b)). Each label has only a name, such as “Medical” which would indicate that a particular journal is a medical journal (see FIG. 5(c)). In a preferred embodiment, the information type of a data item is also the name of one of its labels. Thus, a data item having an information type of “Events and Activities” would also have a label with the same name. That way, a user can search for data having a particular information type by specifying a label with the same name as the data item's information type.
  • FIG. 5(d) shows an example data structure to map information types to their attributes. Thus, if an item in collection of data 190 has an information type of “Product,” the attributes of the item can be determined by accessing the data structure of FIG. 5(i c), which includes the attributes and their attribute type for the information type “Product.”
  • As shown in FIG. 5(d), each information type has predefined attributes. The values of an attributes are of an attribute type. FIG. 5(e) shows some actual values. Thus, an information type of “Journal” has an attribute of “Journal name” with values of attribute type string and a label of “Medical” with null values. Such attributes would, for example, allow a user to search for a particular journal title or to search for all medical journals. Similarly, the information type of “Product” has an attribute of “NumAvail,” which indicates a number of a particular product that are available for sale and has an attribute type of integer. All attributes are optional. Providers may choose to populate any of the attributes suggested to them or create their own
  • FIG. 3(b) is a flowchart 310 showing a method of displaying a query result in response to a received query term or terms. In a preferred embodiment, a query result is determined by search engine 185. For example, a query of “cancer receptor” 402 (see FIG. 4(a)) might return 312 a query result 406 of items having attributes 404 such as those shown in FIG. 4(b). As mentioned earlier, some embodiments of the present invention determine but not display the query result 406 at this point.
  • Once a query result is determined for a query (and optionally displayed), at least some of the attribute names and labels for the query result are displayed 322. The data items in the data set 406 have certain information types. Attributes 404 that are initially displayed are some or all of the attributes for the information types of the data items in query result 406. The query result will have data items, each of which have different attributes. The attributes that show up on top of the query result are the attributes are most common in the query result and the ones that have been clicked on or refined by searchers the most. E.g. Query “housing” has a lot of items with bedrooms and bathrooms as attributes and searchers have always refined by the attributes “bathrooms” and “bedrooms” for the query housing. So bedrooms and bathrooms should show up on the top line above the search results
  • FIG. 4(b) shows query result 406 and a plurality of attribute and label names 404 (“journal,” “pubmed,” “news source,” “authors”). The numbers after each attribute indicate the number of items in the query result 406 that have the attribute associated with it. For example, in FIG. 4(b), query result 406 includes 2050 items having an associated “journal” attribute/label. Thus, the number and identity of the attributes shown with a particular query result is query-dependent, and is further dependent on the attributes and labels later chosen to narrow the search.
  • FIG. 3(c) is a flowchart 340 showing a method of determining which attributes to display for a given query result 406. When an end-user performs a search, the q most relevant results are determined 341 by search engine 185 and the n most popular attributes are determined 342 for the q most relevant results. For the top n attribute names, the system determines 344 the top m attribute/label values. It then calculates 348 histograms, or offer counts, by counting the number of matching offers in the set of relevant results. The values q, n, and m are all configurable. Example values, which are not to be taken in a limiting sense are: q-1,000-100,000 K (q can also be set to ALL results that match a particular query term.) N is in the range of 100s and M is in the range of 20-100.
  • In a preferred embodiment, the attributes are normalized 346 before histograms are determined. In certain implementations, a certain amount of data cleanup and normalization is done when the data is initially stored in data collection 190. In the described embodiment, data normalization is done on the fly based on the query term being searched (e.g., when the query term is “autos” it makes sense to normalize all “brand” attributes to “make”, however if the query is “handbag” it makes sense to normalize all make attributes to “brand”) Other embodiments may do more normalization at the time data is received into collection of data 190. Data normalization is accomplished in a preferred embodiment by:
    • 1. Stemming—For example, restaurant=restaurants.
    • 2. Abbreviations—For example, sz=size.
    • 3. Units equivalence—For example, weight=ounces, lbs, etc.
    • 4. Attempted spelling correction
  • Stemming is particularly useful in systems where providers specify their own attributes names, allowing variations and misspellings to creep into data collection 190. Stemming, for example, allows a user to filter by attribute names of “Journal,” “journasl,” “Journsl” and so on with a single selection of the stemmed attribute “Journals.”
  • In certain preferred embodiments, attributes added by providers are type checked. For example, URL, DateTime, Number, String, Location, Boolean attributes are checked to see if they are valid values. Some embodiments ping each URL value to see if it is active, although this is optional for various implementations. For a preferred embodiment, locations are Geocoded so that they can be referenced by on online mapping service such as, for example, GoogleMaps. In certain embodiments, attributes of “location” that cannot be geocoded are considered invalid. Once popular attributes and labels are determined and displayed 322 (FIG. 3(b)), the user is allowed to specify 324 one or more of the displayed labels and attribute values for the query result (see FIG. 3(d)).
  • FIG. 4(c) shows an example in which a use has selected the attribute “journal” from FIG. 4(b) and is preparing to enter in field 408 the names of journals to which he wishes to confine his search. Notice that the query term 402 is now “cancer receptor filter: journal.” The attribute “journal” has disappeared from the listed Core attributes 404.
  • Similarly, in FIG. 4(d), the user selects a second attribute “year” 410 and enters a year or range or years over which he wishes to search in the specified journals query term. The attribute year is of an attribute type “range of years”. Notice that the query term 402 is now “cancer receptor filter: journal filter: year.” The attribute “year” has disappeared from the listed attributes 404. If the user selects the GO button 411, the search is performed again using the selected attributes as filters and a display such as that of FIG. 4(e) is displayed. Thus, the user can select one or more popular attributes for displayed query result and can filter an initial search in accordance with the displayed attributes (or labels). If the user leaves an attribute value blank, all attribute values are matched. For example, if the user selects the attribute Journal but does not enter a journal name, all data items with an attribute of journal (and similarly named attributes) are selected as possible candidates for the query result. Data items not having an attribute of Journal are not selected for the query result.
  • FIG. 4(d) shows an example where a user has selected more than one attribute or label to narrow the search. In the described embodiment, multiple labels and attributes are selected by clicking on multiple labels and attributes of the attributes and labels 404. Other preferred embodiments allow labels and attributes to be entered into the search window 402. For example, if an attribute Price exists, the user might type the following as a query term:
  • Attribute(Price: $150)
  • This query would locate data items in the current query result having an attribute of Price and an attribute value of $150.
  • As another example, the user might type:
  • Attribute(Price: $150) AND Label(SmallerThanABreadBox)
  • This query would locate data items in the current query result having an attribute of Price, and Attribute value of $150, and a label of SmallerThanABreadBox. Other preferred embodiments would use other appropriate user interface elements to allow a user to logically combine attributes and labels.
  • FIG. 4(e) shows a query result limited to particular journals of a particular year or range of years as specified in FIG. 4(d). The user is allowed to decide whether he wants to continue to search within journals 412 or whether to search the entire collection of data items (e.g., “Search all of Googlebase”) 413. In the example, the user is offered the choice of several labels in area 414 (“biotechnology, ” “medical,” and “photography,” which respectively are associated with 30, 15, and 6 items in the query result 406′). In the example, the user is further offered a choice to specify values for the attributes in area 416: Date, author, pubmed, citation. The user is also offered the option of sorting 416 the query result 406′ by relevance, date attribute, or any of the attributes that the user has defined by. (e.g. price, location, etc.).
  • In FIG. 4(f), the user has selected attribute “Date” from area 414 of FIG. 4(e) and is given a chance to enter a date 420. When the user selects the drop-down operator “between” he is given the opportunity to select a date range (as shown). The attribute “Date” has disappeared from the listed attributes 418. In this example, the attribute of “Author” has disappeared from attributes 414. Attributes disappear if they are no longer are relevant to the query and the query result. The fact that the user has not filtered by the journal now assumes that he is looking only at the restricted item set. The user selects the Go button to perform a search and the author term reappears.
  • FIG. 4(g) shows the user specifying an author name 422. As the query is being refined new attributes and labels show up since the attributes and labels are based on the query result and the query result constantly changes. When the user presses the Go button 423, another search is performed, further filtering the query result to reflect the attributes and attribute values specified by the user.
  • The following paragraphs discuss access of attribute repository 195 during a search or during narrowing of a search using attributes and labels.
  • Queries and indexing that reference repository 195 preferably support the following operators:
      • Number—Is, Between, Greater Than, Less Than, Number Range suggestions
      • String—Is, Has
      • Date—Range, Before, After, Is
      • Location—Within
  • Repository 195 can be queried in at least the following ways:
      • Give me all items that match a particular attribute name-type pair
      • Sort these items based on the value of the attribute-value
      • Sorts for the following types of attributes are supported
        • DateTime
        • Number—Int, Float
        • String
        • Location—Distance from user entered location
  • This query ability allows the user to enter the following types of attribute queries:
      • Give me all items that have a particular name-type pair
      • Given these items sort it by attribute value (e.g. Give me all items that have event_date and give it to me sorted in an ascending order)
      • Give me all items are in-between value1 and value2 for a particular name-type attribute
    EXAMPLES
      • Give me all items that have cooking_type as an attribute and have values between 15 and 30 where the unit is minutes
      • Give me all items that have size as an attribute and have values 1 and 15 with no unit
      • Give me all items that have an event_date and have a value less than today
      • Give me all items that have a publication_date and have a value in the year of 1925
  • The following operators are supported
      • For number—int, float
        • Less than
        • Greater than
        • Between
  • For dateTime
      • Is
      • Before
      • After
      • Between
      • Scoring of Items
  • Currently there are 2 major signals by which items are scored
      • Query Dependent Rank—Mainly IR score
      • Query Independent Rank—Mixture of page rank and item rank
  • Page rank is the provider's website page rank. Page rank does not exist in cases where the items are hosted in a collection of data 190 and/or items are not linked or connected to other items.
  • Item rank can be determined by a number of factors. The two main signals are
      • Provider specific signals. (e.g. rating)
      • Offer specific signals (.e.g. Length of desc, number of attributes, labels, pictures etc.)
      • Item Rank can be defined by the following signals
      • Length of Desc
      • Length of Title
      • Number of Labels
      • Number of Attributes
      • Pictures
      • Number of times offer has been reported as spam
      • Rating of the provider
      • Recency of the offer
    • Items are scored as—Query Dependent Rank*Query Independent Rank
    • For default sorts the Rank is the default sort.
  • In a preferred embodiment, certain parameters can be set in the system. These parameters include a maximum number of items per provider. This prevents crowding of the page by a specific provider
  • When the user selects attributes and/or labels to narrow a search, the system searches labels, titles, description and attribute values. Attribute names should also be searchable as complete names. Phrases are weighted heavily compared to words that occur far away. Labels are weighted more heavily than titles, which are weighted more heavily than descriptions. Attribute values are weighted the same as labels. Merchant crowding by each provider may be turned on or off by the user to regulate whether a page number of items from an individual provider are or are not displayed as a result of a search. Depending on the search performed, merchant crowding may or may not be desirable.
  • In a preferred embodiment, the system defines a structure of a particular type of new item based on the attributes associated with other items of the same or similar type (e.g., If most items of information type “Jobs” have attributes of Job function, Job type and Employer than the common attribute structure for the data item of information type “job” will default to be job type, employer and job function). Searchers and other programs can query the data-set with queries such as “Give me all jobs whose employer is ABC Corporation and whose job-type is product management).
  • It will be understood that, although the examples described herein refer to a human user, other embodiments of the present invention may be designed to operate with a non-human user such as an artificial intelligence software program or with an entity communicating over the web that could be either human or non-human. If the non-human user is a software program, it may not be necessary to display the results and attributes as described herein. Instead, such an implementation might merely communicate the potential attributes that could be used to narrow the query result. In such an embodiment, a larger option of attributes can be displayed since non-human artificial intelligences are not overwhelmed by a large number of attributes from which to choose. In such an embodiment, elements of the method such as determining histograms may not be needed or they might be used only to rank attribute choices and not to limit a number of available attribute choices.
  • It will be understood that periodically, the Core attributes for the various information types in structured data 190 may need to be updated. As data is added to the collection of structured data, certain attributes may become popular that were not initially popular. For example, a “Season” attribute having an attribution type of integer might specify which season of a television show a cast picture is from may not have been initially contemplated by the initial core attributes for the information type “TV shows” but it may become popular as more and more cast pictures are added to the collection of data. In some embodiment, core attributes also are auto-updated based on popularity and seasonality and after passing through a spam filter.
  • FIG. 3(e) shows a method 350 performed periodically to determine whether any new, provider-provided attributes should be promoted to the Core attributes for an information type. The core group of attributes for an item information type is the attributes that are automatically offered whenever a provider adds a new item of the information type. In a preferred embodiment, only Core attributes are offered to decrease the possibility that a provider will spam attributes in order to force his way into the displayed attributes. For each information type, the method looks at the most popular user-added attributes for that information type 322 and promotes the most popular attributes to Core Attributes for that information type.
  • “Most popular,” as used to decide which attributes to promote to Core attributes, is defined differently for different embodiments. For example, most popular can be the attribute not in the Core Attributes that is most-often selected 352 by users over a predetermined period of time, such as a week or month, for example. As another example, most popular can be the attribute not in the Core Attributes that has data items appear most often in query result over a predetermined period of time. As another example, most popular can be the attribute not in the Core Attributes that appears in a largest number of providers' data over a predetermined period of time. Most popular can be determined in any appropriate way as long as it causes attributes that will be useful in narrowing a search to be added to the Core Attributes.
  • For example, providers may have started adding an attribute of “blogged” for an item information type of article to indicate that the article has been mentioned in a blog. Such an attribute would have a URL attribute type, indicating the URL of the blog where the item was mentioned. If a threshold number 354 of unique providers or users use a particular new attribute for an information type, the attribute is added 356 to the Core group of attributes for that information type. In a preferred embodiment, the Threshold value will be based on the total number of providers using the system. It will start with something as low as 2-3 and will be increased to larger numbers. A similar method is performed for labels to add popular labels to a core set of labels. In certain preferred embodiments, promoted attributes will be sanity checked by a human being or appropriate software or hardware implemented method.
  • The previous paragraphs have generally discussed ways to search and update data entered into a collection of structured data 190. The following paragraphs discuss ways that providers can enter data or add data to a collection of structured data 190. Providers can also, in certain preferred embodiments, specify new attributes for their data.
  • FIGS. 6(a)-6(e) are example screen shots showing how a provider can edit items in a data collection. A provider is anyone who adds or is capable of adding content to the collection of data 190. In the described embodiment, collection of data 190 is data owned by one or more providers, such as an individual, a non-profit organization, or a company. The embodiment allows such providers to set-up and populate their own collections of structured data (e.g., databases) via the web and to make those collections searchable via the web or similar network. It is contemplated that providers will be willing to store data in a central repository, either for a fee or in exchange for their permission to allow the data to be searched by others. In such a situation, the data collection can be searched via a web or network based browser, such as the Google browser or Google desktop search engine, in a version that contains some or all or the functionality described herein.
  • FIGS. 6(a)-6(e) are example screen shots showing a user interface allowing a provider to edit and enter data into the system.
  • FIG. 6(a) shows a user interface 600 that allows a provider to view and edit data items in collection of data 190. The user interface can also be used to add items to collection of data 190. An area 602 contains a partial listing of items in the collection of data 190. In the example here, this listing includes item title 601, an item type (also called an information type) 605, Status 603, an Expiration date, a number of impressions (the number of times an item has been displayed), a number of clicks on the object, and the click-through rate, the number of times an item was clicked on in search results. In the example, a subset of all items in the data collection are shown in area 602, but a provider can also search either his personal data collection 620 or search the entire data collection 622. The provider can also view inactive items 616 or upload bulk files 618. Each data item has an associated “edit” link 619. In a preferred embodiment, a provider can only edit his own data items. An area 604 allows the provider to display a selection device such as a dropdown menu showing existing information types (Events and Activities, Housing, etc). If the provider selects an information type, he can add a description of the information type in area 606 for his data.
  • FIG. 6(b) shows a user interface that allows a provider to view and edit 610 data items in collection of data 190. The items have an information type of “News and articles.” If the provider had selected a data item in area 602 of FIG. 6(a), that item's information would be displayed in the fields of area 611. In the example, however, the provider did not select an item, so the provider is free to enter a new data item. In the example, an information type of “News and Articles” 610 contains the following fields: Title, Pictures, Description and a link 614 (e.g., a URL) to be displayed in a query result.
  • The user interface of FIG. 6(b) also allows the provider to edit the attributes and labels of the item. Note that, while each information type has associated attributes, not all data items of a particular type have values for all possible attributes for that information type. In the example, as shown by reference numeral 612, the provider has indicated that a quantity of “1” of the item is available or exists. No value is specified for the Author or News Source attributes for this item. Each of those attributes have an attribute type of “text.” The provider is free to add value for the attributes of individual data items. The provider can also add an attribute using area 613. Here, the provider can add an attribute name and an attribute value.
  • The provider can provide attribute values relating to contact information in area 618. The provider can provide attribute values relating to location information in area 619.
  • The provider can add labels to the item in area 619. In certain embodiments, the information type is a default attribute name. Here, the information type is News and Articles and this is also a label.
  • FIG. 6(c) shows the user interface of FIG. 6(b) that allows a provider to view and edit 610 data items in collection of data 190. In the example, the provider can add a name and value for a new provider-defined attribute 613. While the default attribute type is “text” the provider can choose another attribute type, such as number unit, number, data range, large text, URL, Boolean, and location.
  • FIG. 6(d) shows a user interface that allows a provider to view and edit 610 data items in collection of data 190. The items have an information type of “Products” 630. If the provider had selected a data item in area 602 of FIG. 6(a), that item's information would be displayed in the fields of area 611. In the example, however, the provider did not select an item, so the provider is free to enter a new item using user interface 630. In the example, an information type of “Products” contains the following fields: Title, Pictures, Description and a link 634 (e.g., a URL) to be displayed in a query result.
  • The user interface of FIG. 6(d) also allows the provider to edit the attributes and labels of the item. Note that, while each information type has associated attributes, not all data items of a particular information type have values for all possible attributes for that information type. In the example, as shown by reference numeral 632, the provider has indicated that a Price of $150 per item (as opposed to per pound or per dozen for example). A quantity of “1” is specified. Price type is the type of price the provider is setting (e.g. Best offer, negotiable, fixed etc). No values are specified for Price option, Brand, Condition, and Product Type for this item. Each of those attributes have an attribute type of “text.” In this embodiment, the provider can change the attribute type. for those attributes that he specified. The provider is free to add values for the attributes of individual data items. The provider can also add an attribute using area 613. Here, the provider can add an attribute name and an attribute value.
  • In this embodiment, attributes that a provider adds are added to all of his items of the current information type. Here, for example, all of the provider's items of type “Products” are given the newly added attribute 613 once it is defined. The values for each item are normally added individually. Certain embodiments also allow a provider to specify a value for all of his items of a specified information type. As discussed above, it is possible for the new attribute to graduate to the Core set of attributes. In other embodiments, new attributes are not always added to all items of the information type. In other embodiments, providers can agree that a defined group of providers will all have the same attributes, so that when one provider adds an attribute, the others in the group will also have the same attribute.
  • The provider can provide attribute values relating to contact information in area 618. The provider can provide attribute values relating to location information in area 619. The provider can provide attribute values relating to Payment methods in area 638.
  • The provider can add labels to the item in area 616. In certain embodiments, the information type is a default attribute name. Here, the information type is Products and this is also a label. In this embodiment, labels that a provider adds are not added to all of his items of the current type (except for labels that are the information type). As discussed above, it is possible for a new label to graduate to the Core set of labels. In other embodiments, new labels are always added to all items of the information type.
  • FIG. 6(e) shows the user interface of FIG. 6(d) that allows a provider to view and edit 630 data items in collection of data 190. In this example, Contacts, Payments, and Location are all attributes of the Product information type. They are attributes having a complex type (not just integers or simple strings). In the example, the provider can add values relating to contacts 618 for items of information type “Products.” Here, the provider specifies some or all of Nickname, phone number, email address (potential values taken from a database of provider information, not shown). In the example, the provider can add values relating to Payments 638 for items of information type “Products.” Here, the provider specifies some or all of Payment Method and Notes. In the example, the provider can add values relating to Locations 619 for items of information type “Products.” Here, the provider specifies some or all of Text notes (e.g, “Fremont, Calif.”). In this embodiment, there are also check boxes to indicate whether customers can pick up from this location and delivery radius.
  • In the example, Contact, Payment, and Location values are entered separately for each item. Values that a provider adds are not added to all of his items of the current information type. Here, for example, not all of the provider's items of information type “Products” are given the Contact, Payment, and Location values shown in FIG. 6(e). The values for each item are normally added individually. Certain embodiments also allow a provider to specify values for all of his items of a specified information type. For example, payment information may be the same for all “Products” of a provider.
  • Promoters can either enter items through the UI of FIG. 6 or via a bulk upload method shown in FIGS. 7 and 8.
  • FIG. 7 is an example screen shot 700 showing a user interface for registering a bulk upload file. The bulk upload file is used to create or add to collection of data 190. In this example, a flat file of items that are all of the same information type are to be added. In the example, the File Name 712 is “local inventory”. The provider chooses an data type 714 that is a predefined information type or a custom information type (see, for example, Table 1). The provider chooses a language 716 for text strings in the data. When provider selects button “Register bulk upload file” 718, the file having file name 712 is registered and the provider will then be allowed to upload the file. A provider can upload files using a web-based uploading interface or using another mechanism such as FTP (File Transfer Protocol) or an RSS feed (see, for example, Table 5). See also examples in Tables 6 and 7.
  • FIG. 8(a) shows a format 801 for a tab-delimited file to be bulk uploaded. The following are format requirements for bulk upload files:
      • Tab delimited plain text.
      • First line of the file is the header—must contain attribute names (described below), separated by tabs.
      • One item per line; each attribute should be separated by a tab.
      • Do not have trailing tabs at the end of lines.
      • File must be saved in LATIN1 or UTF-8 encoding. ASCII is also acceptable, as it is a subset of LATIN1.
      • Link and image URLs must be fully qualified. That is, they must include the http://portion, for example: http://www.example.com/image.gif
      • Tabs, carriage returns, or new line characters—If any of these appear in an attribute, we will not be able to display that item.
      • HTML tags, comments, and escape sequences—No html is removed from a bulk upload, but for best appearance, no HTML should be included.
  • In a preferred embodiment, data items are a part of the uploaded file that also contains attributes. In other preferred embodiments, data items and attributes are uploaded in separate files that are constructed so that it is clear which attribute values belong with which data items.
  • FIG. 8(b) is a flowchart 800 of an example method used by a provider to create a bulk upload file. A provider can be a human being, or hardware or software.
  • Element 802: Open a new file in a spreadsheet program
  • The described method uses a spreadsheet program, such as Microsoft Excel, to create a bulk upload file. Using a spreadsheet program like Microsoft Excel makes it easy to create a bulk upload and convert it to the proper format. Other methods can be used that result in an appropriately formatted file.
  • Element 804: Create a header row
  • As an example, the header row for a product bulk upload might look like row 832 in FIG. 8(c). Specify each of the columns in the bulk upload according to the information type of item that the provider would like to submit (see 714 of FIG. 7). On the first row of the spreadsheet 832, enter the name of each of the attributes that the provider would like to include to describe his items. This is the header row. The content of the header row will depend on the information type of information submitted, and whether the provider is sending a defined information type, or one that he created himself.
  • Custom Information Types:
  • Bulk uploads can be used to submit any type of information. If a provider is sending his own information type, he can use any combination of predefined attributes. Examples of predefined attributes are shown in Table 2. In a preferred embodiment, it is strongly recommended that providers use the predefined attributes. A provider can also include an unlimited number of custom attributes: A provider should pick a set of attributes that best describes his items
  • Defined Information Types:
  • A provider can send a bulk upload for one of the defined information types. Table 1 is a list of example information types and their attribute names that he may use. Table 3 is an example of required attributes for a particular information type (“Events”). Table 4 is an example of recommended attributes for a particular information type (“Events”). It is strongly recommended that that a provider include them in his bulk upload. They allow more accurately matching of items to search queries. The more information a provider gives, the easier it will be for users to locate items. In a preferred embodiment, a provider must include these recommended attributes to enable a provider's items to appear in a significant portion of searches done.
  • Element 806: Enter item information
  • On each row 834, a provider enters information for an item in his data collection. Each piece of information should reflect the header of the column it is in. (For example, a product's price should go under the “price” header). Each row includes only include one item per row. See FIG. 8(c).
  • Element 808: Convert bulk upload to tab-delimited plain text
  • Convert the spreadsheet into a tab-delimited text (.txt) file using the filename previously registered (see FIG. 7). After the provider has entered all items in the spreadsheet, he saves the spreadsheet in the tab-delimited text (.txt) format. The registered filename can be reused for subsequent uploads. If an uploaded file has. an unregistered name, the items in the file will not be added to the collection of data 190. In a preferred embodiment, an updated bulk upload must be sent at least once every 30 days to ensure that the items remain in collection of data 190.
  • Element 810: Upload File
  • FIG. 8(d) shows a user interface 840 to upload a file.
  • Element 812: Check the bulk upload for errors
  • After a provider has sent a bulk upload, he can see the bulk upload's status by logging in to a central web site. If the outcome is listed as ‘Success’, the bulk upload does not need to be altered. Otherwise, the provider can click on the bulk upload's filename to see information on how to correct the error(s).
  • After a bulk upload is uploaded, the file will be processed to add the items, attributes, and labels to data collection 190 and the data structure of FIG. 5. Once an upload has been approved, any future updates with the same filename will be processed automatically.
  • Although the present invention has been described above with respect to several embodiments, various modifications can be made within the scope of the present invention. For example, certain preferred embodiments include methods and systems for detecting invalid or “spammy” attributes and labels. It is undesirable for a provider to add attributes to his data that will allow the data items to come to the top of a search. Some methods that are used to avoid such attributes include blacklisting, specific histograms distributions, and so on.
  • In other preferred embodiments the displayed top attributes and labels are determined based not just on popularity of the attribute key-type tuples and labels but on distribution of values (more discrete the distribution the better and the more the skew the better. e.g. 5 popular values for an attribute are better that 50 values distributed evenly. Example if color is an attribute and we see Red, Blue and Green as the top colors than it would be a good attribute to refine by. On the other hand having 100 values to color each of which occur three times is not so helpful.
  • Another preferred embodiment performs sophisticated confidence scores based on the number of providers who use an attribute, the item rank/offer rank of each offer.
  • Another preferred embodiment uses click signals from users to determine which attributes to display to the user. Attributes and labels are scored by something defined as popularity rank:
      • PR=Popularity in the Query result*CTR for that particular query
  • In another preferred embodiment, if users ALWAYS 2 attribute restricts for a particular query (e.g. Ipod for the 90% case is always restricted on price and location, the system restricts by price and location going forward when users type ipod) show those restricts already applied to the query result.
  • Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
    TABLE 1
    Information Type Attributes for this Information Type
    Events - events or activities. price, price_unit, price_type, payment_accepted,
    payment_notes, event_date_range, location
    Housing - property price, price_unit, price_type, payment_accepted,
    for sale or rent. payment_notes, for_sale, property_type, bedrooms,
    bathrooms, area, area_unit, school_district, hoa_dues,
    year, agent, location
    Jobs - employment job_industry, employer, job_function, job_type,
    opportunities. salary, salary_type, education, immigration_status,
    location
    News and Articles - source, publish_date, author, pages
    stories or current events.
    Personals - people ethnicity, gender, sexual_orientation,
    seeking others. marital_status, occupation, age, location
    Products - products price, price_unit, price_type, payment_accepted,
    being offered. payment_notes, quantity, brand, upc, isbn,
    manufacturer, manufacturer_id, memory, memory_unit,
    processor, processor_unit, model_number, size,
    size_unit, weight, weight_unit, condition, color, actor,
    artist, author, format, product_type, location,
    delivery_radius, pick_up, local_inventory
    Reference Items - publish_date, author, publication_name,
    scholarly literature. publication_volume, pages
    Reviews - reviews of rating_type, rating, related_link, publish_date,
    any item. author
    Services - services price, price_unit, price_type, payment_accepted,
    being offered. payment_notes, quantity, service_type, location,
    delivery_radius
    Travel - trips and price, price_unit, price_type, payment_accepted,
    accommodations. payment_notes, quantity, from_location, to_location,
    travel_date_range, location
    Vehicles - any price, price_unit, price_type, payment_accepted,
    vehicle for sale. payment_notes, vehicle_type, make, model, year,
    mileage, mileage_unit, condition, color, vin, location
    Wanted Ads - Location
    requests for any item.
  • TABLE 2
    Attribute Name Explanation
    Actor Actor featured in the video.
    Examples:
    Good: Charlie Chaplin
    Age Age of the person. Numeric values only.
    Examples:
    Good: 18
    Agent The name of the agent for the property. If there is
    no agent, please leave this attribute blank.
    Examples:
    Good: Sue Smith
    Area The size of a piece of property. Numeric values
    only.
    Examples:
    Good: 1000
    Good: 300
    Bad: 300 sq. ft
    area_unit Unit of measurement used to determine the area of
    a price of property. Default is “square foot.”
    Examples:
    Good: square foot
    Good: square meter
    Good: tatami
    Artist Artist that created the artwork.
    Examples:
    Good: Vincent van Gogh
    Author Author of the information.
    Examples:
    Good: John Steinbeck
    bathrooms Number of bathrooms. Numeric values only.
    Examples:
    Good: 2
    bedrooms Number of bedrooms. Numeric values only.
    Examples:
    Good: 3
    brand The brand/manufacturer of the product. Please
    provide if possible.
    Examples:
    Good: Acme
    color Color of item.
    Examples:
    Good: Black
    condition Condition of the item.
    Examples:
    Good: new
    Good: used
    currency The currency that prices are listed in. Please use
    the ISO 4217 code.
    Examples:
    Good: usd
    Good: gbp
    Bad: US Dollars
    Bad: Pounds
    delivery_radius The distance the provider will deliver the item.
    Numeric values only.
    Examples:
    Good: 10
    Bad: 10 km
    description Text describing the item. We search over this text
    when matching user queries to an item. The maximum
    length for the description is 65536 characters.
    Not Acceptable:
    Extra promotional text or keywords that do not appear
    on the provider's web site.
    Boilerplate text (e.g., “We accept MasterCard & Visa.”)
    education Level of education required for the job position.
    Examples:
    Good: PhD
    employer Company that the job position applies to.
    Examples:
    Good: Google, Inc
    ethnicity Ethnicity of the person in the personal entry.
    Examples:
    Good: Latino
    event_date_range Date and time the event will take place. This can
    either be a start date or a date range. Times are based on
    the 24 hour clock. If a range of dates are included,
    separate the start and end dates by a hyphen. Format:
    YYYY-MM-DD, hh:mm or YYYY-MM-DD, hh:mm-
    YYYY-MM-DD, hh:mm
    Examples:
    Good: 2005-12-20, 23:00
    Good: 2005-12-20, 23:00-2005-12-21, 08:30
    Bad: 2005-12-20, 11:00PM
    Bad: Dec. 20, 2005
    Bad: Dec. 20, 2005
    Bad: 20/12/05
    expiration_date Date that the item expires. Format: YYYY-MM-
    DD
    Examples:
    Good: 2005-12-20
    Bad: Dec. 20, 2005
    Bad: Dec. 20, 2005
    Bad: 20/12/05
    for_sale Is the property for sale? Y or N. If the property is
    for sale use “Y.” For rent, “N.”
    Examples:
    Good: Y
    Good: N
    Bad: Sale
    Bad: Rent
    format Format of the content.
    Examples:
    Good: DVD
    Good: CD
    from_location Starting city and state/country of the trip.
    Examples:
    Good: San Francisco, CA
    Good: Paris, France
    Bad: San Francisco International Airport
    gender Gender. We only accept the following values:
    “M,” “F,” “Male,” or “Female.”
    Examples:
    Good: M
    Good: Female
    hoa_dues Monthly dues paid to a homeowners association.
    If there are no monthly dues, leave this attribute blank.
    Numeric values only.
    Examples:
    Good: 100
    Id Unique alphanumeric identifier for each item -
    e.g., a provider's internal ID code.
    IMPORTANT: Once a provider submits an item with a
    unique id, this identifier must not change when he send in
    a new bulk upload. Each item must retain the same id in
    subsequent bulk uploads.
    image_link URL of an associated image. Use your full-sized
    images; do not use thumbnail images. Up to ten
    image_urls, separated by a comma, can be included with
    each item. If you do not have an image available, leave
    the attribute blank. Please do not include an image that
    says “Image not available.”
    Not Acceptable:
    Relative URLs (You must include the entire URL)
    Logos
    Examples:
    Good:
    http://example.com/images/1006.jpg
    Good:
    http://example.com/i/6.jpg,http://example.com/i/9.jpg
    Bad: /images/1006.jpg
    Bad: example.com/images/1006.jpg
    immigration_status Legal residency requirements for this job position.
    Examples:
    Good: Permanent Resident
    isbn ISBN. Please provide if possible.
    Examples:
    Good: 0821122681
    Good: 082111509x
    job_function The function of the job.
    Examples:
    Good: Product Manager
    job_industry The industry of the job.
    Examples:
    Good: Government
    job_type Type of position. Full-time, part-time, contractor,
    etc.
    Examples:
    Good: Contractor
    label A list of phrases related to the item. Up to ten
    relevant, user-selected labels can be included and will be
    used to match your item to queries. Each label will be
    checked for compliance. Be sure to include a comma
    between each label.
    Examples:
    Good: dictionary, English, two volume
    Bad: dictionary English two volume
    link URL of the web page associated with the item.
    Enter the fully qualified URL, including the http: //
    Acceptable: Tracking URLs
    Not Acceptable:
    Higher-level category pages
    Relative URLs
    Examples:
    Good:
    http://www.example.com/asp/sp.asp?id=1030
    Bad: /asp/sp.asp?id=1030
    local_inventory Item inventory for specific locations. Format:
    [location]:quantity:price:price_unit:price_type:tax_region:tax_percent,
    [location]:quantity:price:price_unit:price_type:tax_region:tax_percent
    “Location” includes street, city, state, postal code,
    and country, in that order. It must be surrounded
    by square brackets ([ ]).
    “Quantity” is the number of items in stock at that
    location. If you prefer to exclude the number of
    items in stock, use “*”.
    “Price” is the numeric price at that location.
    “Price_unit” is used when price depends on
    quantity, frequency, or duration. The default is per
    “item.”
    “Price_type” is the type of pricing for the item.
    You can only have one of the following values:
    “fixed” or “starting at.” The default is “fixed.”
    “Tax_region” is the region that the item is being
    taxed in.
    “Tax_percent” should be a numeric value
    excluding a percent sign.
    If you choose to exclude a sub-attribute, you must
    still include six colons per inventory location. Information
    for multiple locations should be separated by commas.
    location Examples:
    Good: [123 Main St., Mountain View, CA 12345
    Location. Should be formatted: street, city, state,
    postal code, and country, in that order. Provide all
    possible address information. Each address element
    should be separated by a comma.
    Examples:
    Good: 123 Main St, Anytown, CA, 12345, USA
    Good: Anytown, CA, 12345, USA
    Good: Anytown, CA, 12345
    Bad: 123 Main St,, CA, 12345, USA
    make The vehicle manufacturer.
    Examples:
    Good: Mini
    manufacturer Company that manufactures the item.
    Examples:
    Good: Acme Inc.
    manufacturer_id Unique product ID code assigned by its
    manufacturer.
    Examples:
    Good: 030779A
    marital_status Please choose from the following statuses:
    “single,” “divorced,” “separated,” “widowed,” “married,”
    “in relationship.”
    Examples:
    Good: single
    Good: widowed
    memory The amount of memory included in the product.
    Numeric values only.
    Examples:
    Good: 256
    Bad: 256 MB
    memory_unit Unit of measurement used to determine the
    amount of memory.
    Examples:
    Good: MB
    Good: GB
    mileage Current mileage of the vehicle. Numeric values
    only.
    Examples:
    Good: 1700
    Good: 1,700
    Bad: 1,700 km
    mileage_unit Unit of measurement used to determine the
    mileage. Default is “m” (miles).
    Examples:
    Good: m
    Good: km
    model The vehicle model.
    Examples:
    Good: Mini Cooper S
    model_number Model number of the product.
    Examples:
    Good: 1924863
    occupation Industry the person is employed in.
    Examples:
    Good: Sales
    pages The number of pages in the publication. Numeric
    values only.
    Examples:
    Good: 18
    payment_accepted Please include at least one of the following
    payment methods: “Cash,” “Check,” “Visa,”
    “Mastercard,” “American Express,” “Discover,” “Wire
    Transfer,” or “Paypal.” If you accept more than one
    method, separate each method with a comma.
    Examples:
    Good: Cash
    Good: Cash, Check, Paypal
    Bad: Cash Check Visa
    payment_notes Additional instructions to explain your payment
    policies.
    Examples:
    Good: Cash only for local orders.
    pickup Is this item available for pickup? Y or N
    Examples:
    Good: Y
    Bad: only on Tuesdays
    price Prices can be a single price, 0 (free), or blank if
    not applicable. Numeric values only.
    Not Acceptable:
    Using commas instead of decimals
    Examples:
    Good: 5.95
    Good: 0
    Bad: 5,95 (This is the same as entering 595 as the price)
    Bad: 5.00-10.00
    Bad: 1000 or best offer
    Bad: free
    price_type The type of pricing for the item. We only accept
    the following values: “negotiable” or “starting at.” The
    default is “starting at.”
    Examples:
    Good: negotiable
    Bad: 100 OBO
    price_unit Use when price depends on quantity, frequency,
    or duration. The default is per “item.”
    Examples:
    Good: monthly
    Bad: 500/monthly
    processor The processor speed for the product. Numeric
    values only.
    Examples:
    Good: 1500
    Bad: 1500 MHz
    processor_unit Unit of measurement used to determine the
    processor speed.
    Examples:
    Good: MHz
    Good: GHz
    product_type The type of product being offered. Toys, books,
    flowers, etc.
    Examples:
    Good: electronics
    property_type Type of property: house, apartment,
    condominium, etc.
    Examples:
    Good: mobile home
    publication_name Name of the publication.
    Examples:
    Good: Journal of Appropriate Technology
    publication_volume Volume of the publication.
    Examples:
    Good: XIV
    publish_date Date published. Format: YYYY-MM-DD
    Examples:
    Good: 2005-12-20
    Bad: Dec. 20, 2005
    Bad: Dec. 20, 2005
    Bad: 20/12/05
    quantity Numeric value that represents the number of units
    in stock. This attribute can be left blank if you have a
    large quantity or if it is not applicable.
    Examples:
    Good: 18
    Good: 0
    Bad: out of stock
    rating Rating of the product or service on a scale of 1-5,
    with 5 as the best. Numeric values only.
    Examples:
    Good: 4
    Bad: superb service
    rating_type The type of rating being provided: “editorial” (A
    review written by a member of your staff) or “user” (A
    review written by a user of your site).
    Examples:
    Good: editorial
    related_link The URL of an informational page related to the
    item. Enter the fully qualified URL, including the
    http://
    Acceptable: Tracking URLs
    Not Acceptable:
    Higher-level category pages
    Relative URLs
    Examples:
    Good:
    http://www.example.com/asp/sp.asp?id=1030
    Bad: /asp/sp.asp?id=1030
    salary Salary for this position. Numeric values only.
    Example
    Good: 50000
    Bad: 50000-55000
    salary_type The type of salary included. We only accept the
    following values: “negotiable” or “starting at.” The
    default is “starting at.”
    Examples:
    Good: negotiable
    Bad: 50000-55000
    school_district The school district the property is in.
    Examples:
    Good: Union School District
    service_type The type of service being offered. Web hosting,
    legal, gardening, etc.
    Examples:
    Good: consulting
    sexual_orientation Sexual orientation.
    Example
    Good: straight
    shipping Shipping options available for an item. Format:
    shipTo_country:shipping_service:shipping_price, ship
    To_country:shipping_service:shipping_price.
    “ShipTo_country” is a country your product ships
    to. Use ISO 3166 country codes.
    “Shipping_service” is the delivery speed for the
    shipment.
    “Shipping_price” is the numeric price of delivery.
    If you choose to exclude a sub-attribute, you must
    still include two colons per shipping option.
    Examples:
    Good: US:Overnight:35.95, GB:Overnight:65.95
    Good: US:Ground:5.95
    Good: US:Ground:
    Bad: US:Ground
    size Dimensions of the item, expressed in either two or
    three dimensions.
    Examples:
    Good: 12 × 10 × 4
    Good: 12 × 10
    size_unit Unit of measurement used to determine the
    dimensions of an item.
    Examples:
    Good: in
    Good: cm
    source The source of news.
    Examples:
    Good: Journal
    tax_percent The tax rate for an item. This should be numeric
    values excluding a percent sign.
    Examples.
    Good: 8.25
    Bad: 8.25%
    Bad: .0825
    tax_region Region that the item is being taxed in.
    Examples:
    Good: Santa Clara
    title The name or title. Maximum of 80 characters.
    to_location Destination city and state/country of the trip.
    Examples:
    Good: San Francisco, CA
    Good: Paris, France
    Bad: San Francisco International Airport
    travel_date_range Date and time of the trip. This can either be a start
    date or a date range. Times are based on the 24 hour
    clock. If a range of dates are included, separate the start
    and end dates by a hyphen. For flights, list each segment
    as a separate item. Format: YYYY-MM-DD, hh:mm or
    YYYY-MM-DD, hh:mm-YYYY-MM-DD, hh:mm
    Examples:
    Good: 2005-12-20, 23:00
    Good: 2005-12-20, 23:00-2005-12-21, 08:30
    Bad: 2005-12-20, 11:00PM
    Bad: Dec. 20, 2005
    Bad: Dec. 20, 2005
    Bad: 20/12/05
    upc Product UPC code. Please provide if possible.
    vehicle_type The type of vehicle. Car, motorcycle, scooter, etc.
    Examples:
    Good: truck
    vin Vehicle Identification Number.
    Examples:
    Good: 1M8GDM9AXKP042788
    weight Weight of an item. Numeric values only.
    Examples:
    Good: 5
    Bad: 5 kg
    weight_unit Unit of measurement used to determine the weight
    of an item.
    Examples:
    Good: 1b
    Good: kg
    year The four digit model year or year built.
    Examples:
    Good: 1979
    Bad: 79
    Bad: 26
    Custom attributes allow you to include additional
    information about your item. You can include an
    unlimited number of custom attributes with types. To
    define a custom attribute, you must start the attribute with
    a c: (example - If you would like to define an attribute
    called cooking_ingredients, the attribute in the header
    column should be called c:cooking_ingredients.) You
    must use underscores (_) to denote spaces. You may also
    include typing information based on your custom
    attribute. Example: c:cooking_ingredient:string lets us
    know that the custom attribute “c:cooking_ingredients”
    has the value “string.”
    Examples of typed attributes you may submit are -
    Brand of your product - Header - c:brand:string
    Event Date of your Street Fair - Header -
    c:event_date:dateTime
    The following types are supported.
    Example
    Type Description Header Column Values
    string Any string c:brand:string sony
    number_units* Any c:megapixels:number_units 10
    number
    Date Time
    Range -
  • TABLE 3
    Events Attributes
    Required: These attributes are common across all information types. You
    should include these attributes where relevant.
    Attribute Name Explanation
    title The name or title. Maximum of 80 characters.
    description Text describing the item. We search over this text when
    matching user queries to your item. The maximum length for the
    description is 65536 characters.
    Not Acceptable:
    Extra promotional text or keywords that do not appear on your
    web site.
    Boilerplate text (e.g., “We accept MasterCard & Visa.”)
    link URL of the web page associated with the item. Enter the
    fully qualified URL, including the http://
    Acceptable: Tracking URLs
    Not Acceptable:
    Higher-level category pages
    Relative URLs
    Examples:
    Good:
    http://www.example.com/asp/sp.asp?id=1030
    Bad: /asp/sp.asp?id=1030
    image_link URL of an associated image. Use your full-sized images;
    do not use thumbnail images. Up to ten image_urls, separated by
    a comma, can be included with each item. If you do not have an
    image available, leave the attribute blank. Please do not include
    an image that says “Image not available.”
    Not Acceptable:
    Relative URLs (You must include the entire URL)
    Logos
    Examples:
    Good: http://example.com/images/1006.jpg
    Good:
    http://example.com/i/6.jpg,http://example.com/i/9.jpg
    Bad: /images/1006.jpg
    Bad: example.com/images/1006.jpg
    id Unique alphanumeric identifier for each item - e.g., your
    internal ID code.
    IMPORTANT: Once you submit an item with a unique id, this
    identifier must not change when you send in a new bulk upload.
    Each item must retain the same id in subsequent bulk uploads.
    expiration_date Date that the item expires. Format: YYYY-MM-DD
    Examples:
    Good: 2005-12-20
    Bad: Dec. 20, 2005
    Bad: 12-20-2005
    Bad: 20/12/05
    label A list of phrases related to the item. Up to ten relevant,
    user-selected labels can be included and will be used to match
    your item to queries. Each label will be checked for compliance.
    Be sure to include a comma between each label.
    Examples:
    Good: dictionary, English, two volume
    Bad: dictionary English two volume
  • TABLE 4
    Events Attributes
    Recommended:
    Attribute Name Explanation
    price Prices can be a single price, 0 (free), or blank if not
    applicable. Numeric values only.
    Not Acceptable:
    Using commas instead of decimals
    Examples:
    Good: 5.95
    Good: 0
    Bad: 5,95 (This is the same as entering 595 as the price)
    Bad: 5.00-10.00
    Bad: 1000 or best offer
    Bad: free
    price_unit Use when price depends on quantity, frequency, or
    duration. The default is per “item.”
    Examples:
    Good: monthly
    Bad: 500/monthly
    price_type The type of pricing for the item. We only accept the
    following values: “negotiable” or “starting at.” The default is
    “starting at.”
    Examples:
    Good: negotiable
    Bad: 100 OBO
    payment_accepted Please include at least one of the following payment
    methods: “Cash,” “Check,” “Visa,” “Mastercard,” “American
    Express,” “Discover,” “Wire Transfer,” or “Paypal.” If you accept
    more than one method, separate each method with a comma.
    Examples:
    Good: Cash
    Good: Cash, Check, Paypal
    Bad: Cash Check Visa
    payment_notes Additional instructions to explain your payment policies.
    Examples:
    Good: Cash only for local orders.
    event_date_range Date and time the event will take place. This can either be
    a start date or a date range. Times are based on the 24 hour clock.
    If a range of dates are included, separate the start and end dates by
    a hyphen. Format: YYYY-MM-DD, hh:mm or YYYY-MM-
    DD, hh:mm-YYYY-MM-DD, hh:mm
    Examples:
    Good: 2005-12-20, 23:00
    Good: 2005-12-20, 23:00-2005-12-21, 08:30
    Bad: 2005-12-20, 11:00PM
    Bad: Dec. 20, 2005
    Bad: 12-20-2005
    Bad: 20/12/05
    location Location. Should be formatted: street, city, state, postal
    code, and country, in that order. Provide all possible address
    information. Each address element should be separated by a
    comma.
    Examples:
    Good: 123 Main St, Anytown, CA, 12345, USA
    Good: Anytown, CA, 12345, USA
    Good: Anytown, CA, 12345
    Bad: 123 Main St,, CA, 12345, USA
    [custom Custom attributes allow you to include additional
    attribute] information about your item. You can include an unlimited
    number of custom attributes with types. To define a custom
    attribute, you must start the attribute with a c: (example - If you
    would like to define an attribute called cooking_ingredients, the
    attribute in the header column should be called
    c:cooking_ingredients.) You must use underscores (_) to denote
    spaces. You may also include typing information based on your
    custom attribute. Example: c:cooking_ingredient:string lets us
    know that the custom attribute “c:cooking_ingredients” has the
    value “string.”
    Examples of typed attributes you may submit are -
    Brand of your product - Header - c:brand:string
    Event Date of your Street Fair - Header -
    c:event_date:dateTime
    The following types are supported.
    Type Description Header Column Values
    string Any string c:brand:string sony
    number_units * Any number c:megapixels:number_units 10
    Date Time
    Range -
    YYYY-MM-
  • TABLE 5
    Required attributes at <channel> level:
    The following attributes are required at the <channel> level
    for each RSS 2.0 bulk upload you submit.
    title - <channel> level
    Details The name of the channel.
    Example <title>Crazy Bob's car dealership offers</title>
    Content String
    type
    description - <channel> level
    Details A statement that describes the channel.
    Example <description>Preowned vehicle selection for Crazy Bob's car
    dealership in Los Angeles, California.<description>
    link - <channel> level
    Details OPTIONAL - the URL of the web page corresponding
    to the channel.
    Leave this attribute blank if no web page is available.
    Example <link>http://www.example.com/ </link>
    Attribute Research studies and publications, Events, Housing, Jobs,
    of News and Articles, Personals, Products, Reviews,
    Services, Travel, Vehicles, Wanted Ads.
    Content anyURI
    type
  • The following table sets provide details about simple and complex type attributes you can use to provide additional details about your items.
  • The Set 1: Simple-type attributes at <item> level
  • Note: Examples of some attributes include the “g:” prefix. This prefix is required when including these attributes in you bulk udloads.
    Actor
    Details Actor featured in the video.
    Example <g:actor>Charlie Chaplin</g:actor>
    Attribute Products
    of
    Content String
    type
  • Age
    Details Minimum age requirement for the event or the age of the
    individual in a Personals bulk upload entry.
    Example Acceptable:
    <g:age>18</g:age>
    Not acceptable:
    <g:age>18 and over</g:age>
    Attribute Events, Personals
    of
    Content unsignedByte
    type
  • Agent
    Details Individual who is negotiating and arranging the real estate
    sale. If there is no agent, leave this attribute blank.
    Example <g:agent>Sue Smith</g:agent>
    Attribute Housing
    of
    Content String
    type
  • Area
    Details The size of an area of real estate.
    Example <g:area>1000</g:area>
    Attribute Housing
    of
    Content unsignedLong
    type
  • area_unit
    Details Unit of measurement used to describe the area of a piece of
    real estate. Default is square foot.
    Example <g:area_unit>square feet</g:area_unit>
    Attribute Housing
    of
    Content String
    type
  • Artist
    Details Artist that created the work.
    Example <g:artist>Vincent van Gogh</g:artist>
    Attribute Products
    of
    Content String
    type
  • Author
    Details Author of the item.
    Example <g:author>John Steinbeck</g:author>
    Attribute Research studies and publications, News and Articles
    of
    Content String
    type
  • bathrooms
    Details Number of bathrooms. Numeric values only.
    Example Acceptable:
    <g:bathrooms>2</g:bathrooms>
    Not acceptable:
    <g:bathrooms>2 bathrooms</g:bathrooms>
    Attribute Housing
    of
    Content nonNegativeDecimalType
    type
  • bedrooms
    Details Number of bedrooms. Numeric values only.
    Example Acceptable:
    <g:bedrooms>3</g:bedrooms>
    Not acceptable:
    <g:bedrooms>3 bedrooms</g:bedrooms>
    Attribute Housing
    of
    Content unsignedByte
    type
  • brand
    Details The brand name of an item.
    Example <g:brand>Acme</g:brand>
    Attribute Products
    of
    Content string
    type
  • color
    Details Color of an item.
    Example <g:color>Black</g:color>
    Attribute Products, Vehicles
    of
    Content string
    type
  • condition
    Details Condition of the item. For example: new, used, or refurbished.
    Example Acceptable:
    <g:condition>refurbished</g:condition>
    Attribute Products, Vehicles
    of
    Content string
    type
  • country
    Details The country an item will ship to. Only acceptable values are
    ISO 3166 country codes.
    Example <g:country>US</g:country>
    Attribute Products
    of
    Content countryEnumeration
    type
  • currency
    Details Currency of the price amount for an item. Only acceptable
    values are ISO 4217 currency codes.
    Example <g:currency>USD</g:currency>
    Attribute Events, Housing, Products, Services, Travel, Vehicles
    of
    Content currencyEnumeration
    type
  • delivery_radius
    Details The maximum distance you will deliver an item in any
    direction.
    Example Acceptable:
    <g:delivery_radius>10<g:/delivery_radius>
    Not acceptable:
    <g:delivery_radius>10km</g:delivery_radius>
    Attribute Research studies and publications, Events, Housing, Jobs,
    of News and Articles, Personals, Products, Reviews, Services,
    Travel, Vehicles, Wanted Ads.
    Content nonNegativeDecimalType
    type
  • description - <item> level
    Details A statement that represents an item in words. This information is searched
    over when matching user queries to an item. The maximum length for the
    description is 65536 characters. Extra promotional text or keywords are not
    acceptable.
    Example Acceptable:
    <description> 2005 Mini Cooper. Many extras: Premium Package: Cruise
    w/multifunction Wheel, Pano Sunroof, Auto Climate Ctl., On-Board Computer
    </description>
    Not Acceptable:
    <description> We accept MasterCard & Visa </description>
    Attribute Research studies and publications, Events, Housing, Jobs, News and
    of Articles, Personals, Products, Reviews, Services, Travel, Vehicles, Wanted Ads.
    Content string
    type
  • education
    Details Level of education required for an employment position.
    Example <g:education>PhD</g:education>
    Attribute Jobs
    of
    Content string
    type
  • employer
    Details Company that the employment opening applies to.
    Example <g:employer>Google, Inc</g:employer>
    Attribute Jobs
    of
    Content string
    type
  • ethnicity
    Details Ethnicity of the individual in the Personals bulk upload entry.
    Example <g:ethnicity>Latino</g:ethnicity>
    Attribute Personals
    of
    Content string
    type
  • expiration_date
    Details Date that the item expires in ISO 8601 format:
    YYYY-MM-DD
    Example Acceptable:
    <g:expiration_date>2005-20-12</g:expiration_date>
    Not acceptable:
    <g:expiration_date>Dec. 20, 2005</g:expiration_date>
    <g:expiration_date>12-20-05</g:expiration_date>
    <g:expiration_date>20/12/05</g:expiration_date>
    Attribute Research studies and publications, Events, Housing, Jobs,
    of Personals, Products, Services, Travel, Vehicles, Wanted Ads.
    Content dateTime
    type
  • for_sale
    Details Information about whether or not a property is for sale or not.
    Acceptable values are “Y” or “N”.
    Example Acceptable:
    <g:for_sale>Y</g:for_sale>
    <g:for_sale>N</g:for_sale>
    Not Acceptable:
    <g:for_sale>Sale</g:for_sale>
    <g:for_sale>Rent</g:for_sale>
    Attribute Housing
    of
    Content Boolean
    type
  • format
    Details Format of the content.
    Example <g:format>DVD</g:format>
    <g:format>CD</g:format>
    Attribute Products
    of
    Content string
    type
  • from_location
    Details Starting city and state/country of the trip.
    Example Acceptable:
    <g:from_location>San Francisco, CA</g:from_location>
    <g:from_location>Paris, France</g:from_location>
    Not Acceptable:
    <g:from_location> San Francisco International
    Airport</g:from_location>
    Attribute Travel
    of
    Content locationType
    type
  • gender
    Details Gender of an individual in a Personals bulk upload item.
    Acceptable values are “Male”, “M”, “Female”, or “F”.
    Example Acceptable:
    <gender>M</gender>
    <gender>Female</gender>
    Attribute Personals
    of
    Content genderEnumeration
    type
  • hoa_dues
    Details Monthly dues paid to a homeowners association. If there are
    no monthly dues, leave this attribute blank.
    Example <g:hoa_dues>100</g:hoa_dues>
    Attribute Housing
    of
    Content nonNegativeDecimalType
    type
  • image_link
    Details URL of an associated image if available online. Use your full-sized images;
    do not use thumbnail images. Up to ten image_links, all placed in between their own
    <image_link> and </image_link> attributes, can be included with each item. If you
    do not have an image available, do not include this attribute. Please do not include
    an image that says “Image not available.” Relative URLs and logo images are not
    acceptable.
    Example Acceptable:
    <image_link>http://example.com/images/1006.jpg</image_link>
    <image_link>http://example.com/i/6.jpg,http://example.com/i/9.jpg</image_link>
    Not Acceptable:
    <image_link>/images/1006.jpg</image_link>
    <image_link>example.com/images/1006.jpg</image_link>
    Attribute Research studies and publications, Events, Housing, Jobs, News and
    of Articles, Personals, Products, Reviews, Services, Travel, Vehicles, Wanted Ads.
    Content anyURl
    type
  • immigration_status
    Details Legal residency requirements for an employment position.
    Example <g:immigration_status>Permanent resident</
    g:immigration_status>
    Attribute Jobs
    of
    Content string
    type
  • isbn
    Details A unique ten digit number assigned to every printed book.
    Example <g:isbn>0451524934</g:isbn>
    Attribute Products
    of
    Content string
    type
  • id
    Details Unique alphanumeric identifier for each item - e.g., your
    internal ID code. IMPORTANT: Once you submit an item
    with a unique id, this identifier must not change when you
    send in a new bulk upload. Each item must retain the same
    id in subsequent bulk uploads.
    Example <g:id>08211</g:id>
    <g:id>01flx</g:id>
    Attribute Research studies and publications, Events, Housing, Jobs,
    of News and Articles, Personals, Products, Reviews, Services,
    Travel, Vehicles, Wanted Ads.
    Content string
    type
  • image_link
    Details The URL of an associated image for an item, if available
    online. Up to 10 image URLs can be submitted per item.
    Enter the fully qualified URL, including the http://
    Acceptable: Tracking URLs are acceptable; however, higher-
    level category pages and relative URLs are not.
    Example Acceptable:
    <g:itemrated_url>http://www.example.com/asp/
    sp.asp?id=1030</g:itemrated_url>
    Not Acceptable:
    <g:rating_url>/asp/sp.asp?id=1030</g:rating_url>
    Attribute Reviews
    of
    Content anyURl
    type
  • related_link
    Details The URL of an informational page for item being rated.
    Enter the fully qualified URL, including the http://
    Acceptable: Tracking URLs are acceptable; however, higher-
    level category pages and relative URLs are not.
    Example Acceptable:
    <g:itemrated_url>http://www.example.com/asp/
    sp.asp?id=1030</g:itemrated_url>
    Not Acceptable:
    <g:rating_url>/asp/sp.asp?id=1030</g:rating_url>
    Attribute Reviews
    of
    Content anyURl
    type
  • job_function
    Details The function of an employment position.
    Example <g:job_function>Product Manager</g:job_function>
    Attribute Jobs
    of
    Content string
    type
  • job_industry
    Details The industry of an employment position.
    Example <g:job_industry>Government</g:job_industry>
    Attribute Jobs
    of
    Content string
    type
  • job_type
    Details Type of employment position. Example: full-time, part-time,
    or contractor.
    Example <g:job_type>contractor</g:job_type>
    Attribute Jobs
    of
    Content string
    type
  • label
    Details A list of classifications the item may fall under. Up to 10 user-
    selected label, each placed in between their own
    <label> and </label> tags, can be included with
    each item.
    Example Acceptable:
    <g:label>Ecology</g:label>
    <g:label>abstract</g:label>
    <g:label>peer-reviewed</g:label>
    Not acceptable:
    <g:label> Ecology, abstract, peer-reviewed </g:label>
    Attribute Research studies and publications, Events, Housing, Jobs,
    of News and Articles, Personals, Products, Reviews,
    Services, Travel, Vehicles, Wanted Ads.
    link - <item> level
    type URL of the web page associated with the item if available.
    Details Enter the fully qualified URL, including the http://. Tracking
    URLs are acceptable; however, higher-level category
    pages and relative URLs are not.
    Example Acceptable:
    <g:link>http://www.example.com/asp/
    sp.asp?productid=1030</g:link>
    Not acceptable:
    <g:link>/asp/sp.asp?productid=1030</g:link>
    Attribute Research studies and publications, Events, Housing, Jobs,
    of News and Articles, Personals, Products, Reviews, Services,
    Travel, Vehicles, Wanted Ads.
    Content anyURl
    type
  • location
    Details Location of a property. Should include street, city, state,
    postal code, and country, in that order. When used as
    a sub-attribute of <inventory_location>, the
    value represents the location where inventory is housed.
    Example Acceptable:
    <g:location>123 Main St, Anytown, CA, 12345,
    USA</g:location>
    Not acceptable:
    <g:location>123 Main St,, CA, 12345, USA</g:location>
    <g:location> Anytown, CA, 12345, USA</g:location>
    Attribute Research studies and publications, Events, Housing, Jobs,
    of News and Articles, Personals, Products, Reviews,
    Services, Travel, Vehicles, Wanted Ads.
    Content locationType
    type
  • make
    Details The vehicle manufacturer.
    Example <g:make>Honda</g:make>
    Attribute Vehicles
    of
    Content string
    type
  • manufacturer
    Details Company that manufactures the item.
    Example <g:manufacturer>Acme, Inc</g:manufacturer>
    Attribute Products
    of
    Content string
    type
  • manufacturer_id
    Details Unique product ID code assigned by its manufacturer.
    Example <g:manufacturer_id>030779A</g:manufacturer_id>
    Attribute Products
    of
    Content string
    type
  • marital_status
    Details Marital status of an individual in a Personals bulk upload
    entry. For example—single, divorced, separated,
    widowed, married, and “in relationship.”
    Example Acceptable:
    <g:marital_status>single</g:marital_status>
    <g:marital_status>widowed</g:marital_status>
    Not Acceptable:
    <g:marital_status>looking</g:marital_status>
    Attribute Personals
    of
    Content string
    type
  • memory
    Details The amount of memory included in an item.
    Example <g:memory>128</g:memory>
    Attribute Products
    of
    Content nonNegativeDecimalType
    type
  • memory_unit
    Details Unit of measurement used to describe the amount of memory.
    Example <g:memory_unit>MB</g:memory_unit>
    Attribute Products
    of
    Content string
    type
  • mileage
    Details Current mileage of the vehicle.
    Example Acceptable:
    <g:mileage>1700</g:mileage>
    Not Acceptable:
    <g:mileage>1,700 miles</g:mileage>
    Attribute Vehicles
    of
    Content nonNegativeLong
    type
  • mileage_unit
    Details Unit of measurement used to describe the mileage. Default is
    miles.
    Example Acceptable:
    <g:mileage_unit>1700</g:mileage_unit>
    Not Acceptable:
    <g:mileage_unit>1,700 miles</g:mileage_unit>
    Attribute Vehicles
    of
    Content string
    type
  • model
    Details The vehicle model.
    Example <g:model>Camry</g:model>
    Attribute Vehicles
    of
    Content string
    type
  • model_number
    Details Model number of the product.
    Example <g:model_number>1924863</g:model_number>
    Attribute Products
    of
    Content string
    type
  • source
    Details The source of news.
    Example <g:source>Journal</g:source>
    Attribute News and Articles
    of
    Content string
    type
  • occupation
    Details Industry the individual in a Personals bulk upload is
    employed in.
    Example <g:occupation>Sales</g:occupation>
    Attribute Personals
    of
    Content string
    type
  • pages
    Details The number of pages in the publication.
    Example <g:pages>18</g:pages>
    Attribute Research studies and publications, News and Articles
    of
    Content nonNegativeLong
    type
  • payment_accepted
    Details Acceptable payment methods for item purchases. Acceptable
    values are “Cash,” “Check,” “Traveler's Check,”
    “Visa,” “MasterCard,” “American Express,”
    “Discover,” “Wire transfer” or “Paypal.”
    If you accept more than one method, include multiple
    instances of the <payment_accepted> attribute for each
    acceptable method.
    Example Acceptable:
    <g:payment_accepted>Cash</g:payment_accepted>
    <g:payment_accepted>Check</g:payment_accepted>
    <g:payment_accepted>Paypal</g:payment_accepted>
    Not acceptable:
    <g:payment_accepted>Cash Check
    Paypal</g:payment_accepted>
    Attribute Events, Housing, Products, Services, Travel, Vehicles
    of
    Content paymentMethodEnumeration
    type
  • payment_notes
    Details Additional instructions to explain a payment policy.
    Example <g:payment_notes>Cash only for local
    orders.</g:payment_notes>
    Attribute Events, Housing, Products, Services, Travel, Vehicles
    of
    Content string
    type
  • pickup
    Details Information about whether or not an item is available for
    pick up. Acceptable values are Y and N.
    Example Acceptable:
    <g:pickup>Y</g:pickup>
    Not acceptable:
    <g:pickup>Not on Tuesdays</g:pickup>
    Attribute Products
    of
    Content boolean
    type
  • price
    Details Prices can be a single price, 0 (free), or blank if not
    applicable. Numerice values onlyWhen used as a sub-attribute
    of <shipping>, the value included reflects the price of
    shipping.
    Example Acceptable:
    <g:price>5.95</g:price>
    <g:price>0</g:price>
    Not acceptable:
    <g:price>5,95</g:price>
    <g:price>5.00 - 10.00</g:price>
    <g:price>100 or best offer</g:price>
    <g:price>free</g:price>
    Attribute Events, Housing, Products, Services, Travel, Vehicles
    of
    Content nonNegativeDecimalType
    type
  • price_type
    Details The type of pricing for the content. Acceptable values are
    “negotiable,” or “starting at.” The default is “starting at.”
    Example Acceptable:
    <g:price_type>starting at</g:price_type>
    Not Acceptable:
    <g:price_type>100 OBO</g:price_type>
    Attribute Events, Housing, Products, Services, Travel, Vehicles
    of
    Content priceTypeEnumeration
    type
  • price_unit
    Details Use when price depends on quantity, frequency, or duration.
    The default is “per item.”
    Example Acceptable:
    <g:price_unit>monthly</g:price_unit>
    Not acceptable:
    <g:price_unit>500/monthly</g:price_unit>
    Attribute Events, Housing, Products, Services, Travel, Vehicles
    of
    Content string
    type
  • processor
    Details The processor speed for the product.
    Example <g:processor>2</g:processor>
    Attribute Products
    of
    Content nonNegativeDecimalType
    type
  • processor_unit
    Details Unit of measurement used to describe processor speed.
    Example <g:processor_unit>GB</g:processor_unit>
    Attribute Products
    of
    Content string
    type
    product_type
    Details The type of product being offered. Toys, books, flowers, etc.
    Example <g:product_type>electronics</g:product_type>
    Attribute Products
    of
    Content string
    type
  • property_type
    Details Type of property: house, apartment, condominium, etc.
    Example <g:property_type>house</g:property_type>
    Attribute Research studies and publications, News and Articles,
    of Reviews
    Content string
    type
  • publication_name
    Details Name of the publication.
    Example <g:publication_name> Journal of Appropriate
    Technology</g:publication_name>
    Attribute Research studies and publications
    of
    Content string
    publication_volume
    Details Volume of the publication.
    Example <g:publication_volume>XIV</g:publication_volume>
    Attribute Research studies and publications
    of
    Content string
    type
  • publish_date
    Details Date published in format YYYY-MM-DD
    Example <g:publish_date>2005-12-20</g:publish_date>
    Attribute Research studies and publications
    of
    Content ISO 8601 dateTime
    type
  • quantity
    Details The number of units available for purchase. This attribute can
    be left blank if you have a large quantity or if it is not
    applicable. When used as a sub-attribute of
    <local_inventory>, the value refers to the number of items
    available for purchase at a distinct location.
    Example Acceptable:
    <g:quantity>18</g:quantity>
    <g:quantity>0</g:quantity>
    Not Acceptable:
    <g:quantity>out of stock</g:quantity>
    Attribute Events, Products, Services, Travel, Vehicles
    rating
    Content unsignedLong
    type Rating of the product or service on a scale of 1-5, with 5 as
    the best.
    Details Numeric values only.
    Example Acceptable:
    <g:rating>4</g:rating>
    Not Acceptable:
    <g:rating>good</g:rating>
    Attribute Reviews
    of
    Content nonNegativedecimalType
    type
  • rating_type
    Details The type of rating being provided: editorial (a review written
    by a member of your staff) or “user” ( a review written
    by a user of your site)
    Example Acceptable:
    <g:rating>editorial</g:rating>
    Not Acceptable:
    <g:rating>john2005</g:rating>
    Attribute Reviews
    of
    Content string
    type
  • salary
    Details Salary for this position. This attribute can be eather a salary
    range or the starting salary.
    Example Acceptable:
    <g:salary>55000</g:salary>
    Attribute Jobs
    of
    Content nonNegativeDecimalType
    type
    salary_type
    Details The type of salary included. Accepted values are “starting
    at” or “negotiable;” The default is “starting at.”
    Example <g:salary_type>negotiable</g:salary_type>
    Attribute Jobs
    of
    Content salarytypeEnumeration
    type
  • school_district
    Details The school district the property is in.
    Example <g:school_district>Union School District</g:school_district>
    Attribute Housing
    of
    Content string
    type
  • service_type
    Details The type of service being offered. Web hosting, legal,
    gardening, etc.
    Example <g:service_type>consulting</g:service_type>
    Attribute Housing
    of
    Content string
    type
  • sexual_orientation
    Details Sexual orientation.
    Example <g:sexual_orientation>straight</g:sexual_orientation>
    Attribute Personal
    of
    Content string
    type
  • size
    Details Dimensions of the item, expressed in either two or three
    dimensions.
    Example <g:size>12×10×4</g:size>
    <g:size>12×10</g:size>
    Attribute Products
    of
    Content string
    type
  • size_unit
    Details Unit of measurement used to describe the
    dimensions of an item.
    Example <g:size>in</g:size>
    <g:size>cm<g:size>
    Attribute Products
    of
    Content string
    type
    tax_percent
    Details Tax rate as a percentage.
    Example <g:tax_percent>8.2<g:tax_percent>
    Attribute Products, Events
    of
    Content percentType
    type
  • tax_region
    Details Geographical region a tax rate applies to.
    Example <g:tax_region>California</g:tax_region>
    Attribute Product, Events,
    of
    Content string
    type
  • title - <item> level
    Details Title of the item. Maximum of 80 characters.
    Example <title>Mini Cooper S</title>
    Attribute Research studies and publications, Events, Housing,
    of Jobs, News and Articles, Personals, Products, Reviews,
    Services, Travel, Vehicles, Wanted Ads.
    Content string
    type
  • to_location
    Details Destination city and state/country of the trip.
    Example Acceptable:
    <g:to_location>San Francisco, CA</g:to_location>
    <g:to_location>Paris, France</g:to_location>
    Not Acceptable:
    <g:to_location>San Francisco International
    Airport</g:to_location>
    Attribute Travel
    of
    Content locationyTpe
    type
    upc
    Details Product UPC code.
    Example <g:upc>834721479305</g:upc>
    Attribute Products
    of
    Content string
    type
  • vehicle_type
    Details The type of vehicle: Car, motorcycle, scooter, etc.
    Example <g:vehicle_type>truck</g:vehicle_type>
    Attribute Products
    of
    Content string
    type
  • vin
    Details Vehicle Identification Number.
    Example <g:vin>1M8GDM9AXKP042788</g:vin>
    Attribute Vehicles
    of
    Content string
    type
  • weight
    Details Weight of the item.
    Example <g:weight>5</g:weight>
    Attribute Products
    of
    Content unsignedLong
    type
  • weight_unit
    Details Unit of measurement used to determine the weight of an item.
    Example <g:weight_unit>lbs</g:weight_unit>
    Attribute Products
    of
    Content string
    type
  • year
    Details The four digit model year or year built. Format YYYY
    Example Acceptable:
    <g:year>2005</g:year>
    Not Acceptable:
    <g:year>79</g:year>
    <g:year>26</g:year>
    Attribute Housing, Vehicles
    of
    Content gYear
    type
  • [custom attribute]
    Details Custom attributes allow you to include additional
    information about your item. You can include an
    unlimited number of custom attributes with types.
    Please see our Google Base Provider Module for
    details on formatting a custom attribute.
  • Set 2: Complex type attributes at <item> level
    event_date_range
    Details   Information on the date and time an event will take place, in ISO 8601
    format. Two sub-attributes are included in the event_date_range attribute:
      from = Date and time an event will begin in format YYYY-MM-DD:hh:mm
      to = (Optional). Date and time an event will end, in format YYYY-MM-
    DD:hh:mm
    Example   <g:event_dateTime>
       <g:from>2005-12-20,14:00</g:from>
       <g:to>2005-12-20, 19:00</g:to>
      </g:eventdateTime>
    Attribute   Events
    of
    Content   dateTimeRangeType
    type
  • Details   Item inventory for specific locations. Up to 10 local_inventory attributes, all
    placed in between <g:local_inventory > and </g:local_inventory > tags, can be
    included with each item. There are seven sub-attributes in the local_inventory
    attribute:
      location = The street, city, state, postal code, and country, in that order.
      quantity = The number of items in stock at that location
      price = The price of an item at that location.
      price_unit = Information about a locations pricing model.
      price_type = The type of pricing for the content. Acceptable values are
    “negotiable,” or “starting at.” The default is “starting at.”
      tax_percent = Tax rates for the region
      tax_region = Region the tax rate applies to
    Example   Acceptable:
      <g:local_inventory>
       <g:location>123 Main St, Anytown, CA, 12345, USA</g:location>
       <g:quantity>20</g:quanity>
       <g:price>19.95</g:price>
        <g:price_unit>per item</g:price_unit>
        <g:price_type>negotiable</g:price_type>
       <g:tax_region>California</g:tax_region>
       <g:tax_percent>8.25</g:tax_percent>
      </g:local_inventory>
      Not Acceptable:
      <g:local_inventory>123 Main St, Anytown, CA, 12345,
    USA:20:19.95 </g:local_inventroy>
  • travel_date_range
    Details   Departure date and time of the trip. Format: YYYY-MM-DD,hh:mmAM (12
    hour clock) or YYYY-MM-DD,hh:mm (24 hour clock). Two sub-attributes are
    included in travel_date_range attribute.
      start = Start date and time of a trip in format YYYY-MM-DD
      end = End date and time of a trip in format YYYY-MM-DD
    Example   <g:travel_date_range>
      <g:start>2005-12-20:06:00</g:start>
      <g:end> 2005-12-29:13:00</g:end>
      </g:ravel_date_range>
    Attribute   Travel
    of
    Content   dateTimeRangeType
    type
  • shipping
    Details   Shipping options available for an item. Up to 10 shipping options can be
    included for each item. Three sub-attributes are included in the shipping attribute.
      service = The type of service used to ship an item. Acceptable values are
    ‘FedEx’, ‘UPS’, ‘DHL’, ‘Mail’, and ‘Other’
      country = The country an item will ship to. Only acceptable values are ISO
    3166 country codes.
      price = the price of shipping.
    Example   <g:shipping>
       <g:country>US</g:country>
       <g:service>UPS</g:shipping>
       <g:price>35.95</g:price>
      </g:shipping>
    Attribute   Products
    of
    Content   shippingType
    type
  • TABLE 6
      <?xml version=“1.0” encoding=“UTF-8” ?>
    - <rss version=“2.0” xmlns:g=“http://base.google.com/ns/1.0”>
    - <channel>
     <title />
     <description />
     <link />
    - <item>
     <g:title />
     <g:description />
     <g:link />
     <g:image_link />
     <g:id />
     <g:expiration_date />
     <g:label />
     <g:currency />
     <g:price />
     <g:price_unit />
     <g:price_type />
     <g:payment_accepted />
     <g:payment_notes />
    - <g:event_date_range>
     <g:start />
     <g:end />
      </g:event_date_range>
     <g:location />
    - <g:shipping>
     <g:country />
     <g:service />
     <g:price />
      </g:shipping>
     <g:tax_region />
     <g:tax_percent />
     </item>
     </channel>
     </rss>
  • TABLE 7
      <?xml version=“1.0” encoding=“UTF-8” ?>
    - <rss version=“2.0” xmlns:g=“http://base.google.com/ns/1.0”>
    - <channel>
     <title>The name of your channel</title>
     <description>A description of the channels content.</description>
     <link>The URL to the HTML website</link>
    - <item>
     <title>Woodstock</title>
     <description>Music and art festival!</description>
     <link>http://www.woodstawk.com</link>
     <g:image_link>http://www.woodstawk.com/image.jpg</g:image_link>
     <g:id>1028</g:id>
     <g:expiration_date>2005-12-20</g:expiration_date>
     <g:label>Concert</g:label>
     <g:label>party</g:label>
     <g:label>festival</g:label>
     <g:label>music</g:label>
     <g:currency>USD</g:currency>
     <g:price>10</g:price>
     <g:price_unit>item</g:price_unit>
     <g:price_type>starting at</g:price_type>
     <g:payment_accepted>Cash</g:payment_accepted>
     <g:payment_accepted>Check</g:payment_accepted>
     <g:payment_accepted>Visa</g:payment_accepted>
     <g:payment_notes>Cash only for local orders</g:payment_notes>
    - <g:event_date_range>
     <g:start>2005-07-04,20:00</g:start>
     <g:end>2005-07-04,23:00</g:end>
      </g:event_date_range>
     <g:location>123 Main St, Anytown, CA, 12345, USA</g:location>
    - <g:shipping>
     <g:country>US</g:country>
     <g:service>Overnight</g:service>
     <g:price>32.95</g:price>
      </g:shipping>
     <g:tax_region>California</g:tax_region>
     <g:tax_percent>8.25</g:tax_percent>
      </item>
    - <item>
     <title>U2 Elevation tour</title>
     <description>Rock Concert!</description>
     <link>http://www.providers-website.com</link>
     <g:image_link>http://www.providers-website.com/image.jpg</
     g:image_link>
     <g:id>1970</g:id>
     <g:expiration_date>2005-12-20</g:expiration_date>
     <g:label>Concert</g:label>
     <g:label>festival</g:label>
     <g:label>music</g:label>
     <g:currency>USD</g:currency>
     <g:price>50</g:price>
     <g:price_unit>item</g:price_unit>
     <g:price_type>starting at</g:price_type>
     <g:payment_accepted>Cash</g:payment_accepted>
     <g:payment_accepted>Check</g:payment_accepted>
     <g:payment_accepted>Visa</g:payment_accepted>
     <g:payment_notes>Cash only for local orders</g:payment_notes>
    - <g:event_date_range>
     <g:start>2005-08-23,20:00</g:start>
     <g:end>2005-08-23,23:00</g:end>
      </g:event_date_range>
     <g:location>123 Main St, Anytown, CA, 12345, USA</g:location>
    - <g:shipping>
     <g:country>US</g:country>
     <g:service>Overnight</g:service>
     <g:price>32.95</g:price>
      </g:shipping>
     <g:tax_region>California</g:tax_region>
     <g:tax_percent>8.25</g:tax_percent>
      </item>
      </channel>
      </rss>

Claims (18)

1. A method of making items structured and searchable, comprising:
receiving a data item to be structured using an online interface;
receiving attribute names associated with the received data item via the online interface;
deriving attribute values to be associated with the received data item; and
storing the data item, along with its associated attributes and attribute values in a memory searchable by a web-based search engine.
2. The method of claim 1, wherein the data item is received as a result of a web crawl and its attribute values are derived automatically as a result of the web crawl.
3. The method of claim 1, wherein the data item is received as a result of a provider's bulk upload of a plurality of data items and their attribute names and values via the online interface.
4. The method of claim 1, wherein the data item is received as a result of a provider entering the data item and its attribute names and values individually via the online interface.
5. The method of claim 1, wherein the attribute names are part of a Core set of attribute names, which are the only attributes that will be display with displayed query result.
6. The method of claim 1, wherein the attribute names are part of a predetermined set of attribute names.
7. The method of claim 1, wherein the attribute names are part of a provider-defined set of attribute names.
8. The method of claim 1, wherein the provider defines an attribute name and its type for an information type of data items and defines attribute values for each of a plurality of data items having the information type.
9. The method of claim 1, further including:
defining attributes in a data structure in a memory, the data structure being associated with the data item, based on the popularity of attributes for similar data items.
10. An apparatus for making items structured and searchable, comprising:
means for receiving a data item to be structured using an online interface;
means for receiving attribute names associated with the received data item via the online interface;
means for deriving attribute values to be associated with the received data item; and
means for storing the data item, along with its associated attributes and attribute values in a memory searchable by a web-based search engine.
11. The apparatus of claim 10, wherein the data item is received as a result of a web crawl and its attribute values are derived automatically as a result of the web crawl.
12. The apparatus of claim 10, wherein the data item is received as a result of a provider's bulk upload of a plurality of data items and their attribute names and values via the online interface.
13. The apparatus of claim 10, wherein the data item is received as a result of a provider entering the data item and its attribute names and values individually via the online interface.
14. The apparatus of claim 10, wherein the attribute names are part of a Core set of attribute names, which are the only attributes that will be display with displayed query result.
15. The apparatus of claim 10, wherein the attribute names are part of a provider-defined set of attribute names.
16. The apparatus of claim 10, further including:
means for defining attributes in a data structure in a memory, the data structure being associated with the data item, based on the popularity of attributes for similar data items.
17. An apparatus for making items structured and searchable, comprising:
A user interface that receives a data item to be structured using an online interface;
A user interface that receives attribute names associated with the received data item via the online interface;
a module that derives attribute values to be associated with the received data item; and
a module that stores the data item, along with its associated attributes and attribute values in a memory searchable by a web-based search engine.
18. A computer program product including a computer readable medium storing instructions capable of being executed by a data processing system to perform a method, comprising:
receiving a data item to be structured using an online interface;
receiving attribute names associated with the received data item via the online interface;
deriving attribute values to be associated with the received data item; and
storing the data item, along with its associated attributes and attribute values in a memory searchable by a web-based search engine.
US11/256,883 2005-10-23 2005-10-23 Adding attributes and labels to structured data Abandoned US20070100862A1 (en)

Priority Applications (11)

Application Number Priority Date Filing Date Title
US11/256,883 US20070100862A1 (en) 2005-10-23 2005-10-23 Adding attributes and labels to structured data
KR1020087012450A KR20080080098A (en) 2005-10-23 2005-12-13 Adding attributes and labels to structured data
AU2005337489A AU2005337489B2 (en) 2005-10-23 2005-12-13 Search over structured data
JP2008537678A JP2009512953A (en) 2005-10-23 2005-12-13 Adding attributes and labels to structured data
EP05853989A EP1955137A4 (en) 2005-10-23 2005-12-13 Adding attributes and labels to structured data
CA002626856A CA2626856A1 (en) 2005-10-23 2005-12-13 Adding attributes and labels to structured data
PCT/US2005/045189 WO2007046829A2 (en) 2005-10-23 2005-12-13 Adding attributes and labels to structured data
US12/469,468 US20100094848A1 (en) 2005-10-23 2009-05-20 Adding Attributes and Labels to Structured Data
JP2011252727A JP5300960B2 (en) 2005-10-23 2011-11-18 Adding attributes and labels to structured data
US13/348,613 US20120290557A1 (en) 2005-10-23 2012-01-11 Adding Attributes and Labels to Structured Data
US13/974,868 US9792333B2 (en) 2005-10-23 2013-08-23 Adding attributes and labels to structured data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/256,883 US20070100862A1 (en) 2005-10-23 2005-10-23 Adding attributes and labels to structured data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/469,468 Continuation US20100094848A1 (en) 2005-10-23 2009-05-20 Adding Attributes and Labels to Structured Data

Publications (1)

Publication Number Publication Date
US20070100862A1 true US20070100862A1 (en) 2007-05-03

Family

ID=37962934

Family Applications (4)

Application Number Title Priority Date Filing Date
US11/256,883 Abandoned US20070100862A1 (en) 2005-10-23 2005-10-23 Adding attributes and labels to structured data
US12/469,468 Abandoned US20100094848A1 (en) 2005-10-23 2009-05-20 Adding Attributes and Labels to Structured Data
US13/348,613 Abandoned US20120290557A1 (en) 2005-10-23 2012-01-11 Adding Attributes and Labels to Structured Data
US13/974,868 Active 2028-08-12 US9792333B2 (en) 2005-10-23 2013-08-23 Adding attributes and labels to structured data

Family Applications After (3)

Application Number Title Priority Date Filing Date
US12/469,468 Abandoned US20100094848A1 (en) 2005-10-23 2009-05-20 Adding Attributes and Labels to Structured Data
US13/348,613 Abandoned US20120290557A1 (en) 2005-10-23 2012-01-11 Adding Attributes and Labels to Structured Data
US13/974,868 Active 2028-08-12 US9792333B2 (en) 2005-10-23 2013-08-23 Adding attributes and labels to structured data

Country Status (6)

Country Link
US (4) US20070100862A1 (en)
EP (1) EP1955137A4 (en)
JP (2) JP2009512953A (en)
KR (1) KR20080080098A (en)
CA (1) CA2626856A1 (en)
WO (1) WO2007046829A2 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070179776A1 (en) * 2006-01-27 2007-08-02 Xerox Corporation Linguistic user interface
US20080154880A1 (en) * 2006-12-26 2008-06-26 Gu Ta Internet Information Co., Ltd. Method of displaying listed result of internet-based search
US20090063468A1 (en) * 2007-06-25 2009-03-05 Berg Douglas M System and method for career website optimization
US20090210407A1 (en) * 2008-02-15 2009-08-20 Juliana Freire Method and system for adaptive discovery of content on a network
US20090210406A1 (en) * 2008-02-15 2009-08-20 Juliana Freire Method and system for clustering identified forms
WO2009105274A1 (en) * 2008-02-22 2009-08-27 John Anthony Wysham Methods, systems, and computer program products for retrieving a file of machine-readable data
US7751620B1 (en) * 2007-01-25 2010-07-06 Bitdefender IPR Management Ltd. Image spam filtering systems and methods
US20110010224A1 (en) * 2009-07-13 2011-01-13 Naveen Gupta System and method for user-targeted listings
US7890499B1 (en) 2006-07-28 2011-02-15 Google Inc. Presentation of search results with common subject matters
US20110202517A1 (en) * 2005-10-23 2011-08-18 Google Inc. Search over structured data
US8538934B2 (en) * 2011-10-28 2013-09-17 Microsoft Corporation Contextual gravitation of datasets and data services
US8584013B1 (en) 2007-03-20 2013-11-12 Google Inc. Temporal layers for presenting personalization markers on imagery
US8639680B1 (en) * 2012-05-07 2014-01-28 Google Inc. Hidden text detection for search result scoring
US8849817B1 (en) 2006-12-29 2014-09-30 Google Inc. Ranking custom search results
US9792333B2 (en) 2005-10-23 2017-10-17 Google Inc. Adding attributes and labels to structured data
US10198744B2 (en) * 2008-02-04 2019-02-05 Google Llc User-targeted advertising
US10459608B2 (en) * 2014-12-01 2019-10-29 Ebay Inc. Mobile optimized shopping comparison
US20210097139A1 (en) * 2019-09-26 2021-04-01 Sap Se Creating line item information from free-form tabular data
US11005851B2 (en) * 2018-08-09 2021-05-11 Camelot Uk Bidco Limited Retrieving digital content over a network
US11280629B2 (en) * 2019-03-21 2022-03-22 Boe Technology Group Co., Ltd. Method for determining trip of user in vehicle, vehicular device, and medium

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002019128A1 (en) * 2000-08-29 2002-03-07 Eloquent Tool for collaborative edit/search of dyanamic objects
US7707249B2 (en) * 2004-09-03 2010-04-27 Open Text Corporation Systems and methods for collaboration
US7702730B2 (en) 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
US8464206B2 (en) * 2007-10-22 2013-06-11 Open Text S.A. Method and system for managing enterprise content
US9053454B2 (en) * 2009-11-30 2015-06-09 Bank Of America Corporation Automated straight-through processing in an electronic discovery system
US20120284267A1 (en) * 2011-05-06 2012-11-08 International Business Machines Item Randomization with Item Relational Dependencies
US20150074101A1 (en) * 2013-09-10 2015-03-12 Microsoft Corporation Smart search refinement
US10176175B2 (en) * 2015-08-19 2019-01-08 International Business Machines Corporation System and method for identifying candidates for back-of-book index
US11100544B1 (en) 2015-12-28 2021-08-24 Amazon Technologies, Inc. Image-based item reviews
JP6219425B2 (en) * 2016-03-03 2017-10-25 三菱電機インフォメーションシステムズ株式会社 Attribute information generation device, linkage system, and attribute information generation program
US10585926B2 (en) * 2016-06-14 2020-03-10 International Business Machines Corporation Managing structuring of large sets of unstructured data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016800A1 (en) * 2000-03-27 2002-02-07 Victor Spivak Method and apparatus for generating metadata for a document
US6701314B1 (en) * 2000-01-21 2004-03-02 Science Applications International Corporation System and method for cataloguing digital information for searching and retrieval
US20040250205A1 (en) * 2003-05-23 2004-12-09 Conning James K. On-line photo album with customizable pages
US20050240393A1 (en) * 2004-04-26 2005-10-27 Glosson John F Method, system, and software for embedding metadata objects concomitantly wit linguistic content

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4878175A (en) * 1987-11-03 1989-10-31 Emtek Health Care Systems Method for generating patient-specific flowsheets by adding/deleting parameters
US6978277B2 (en) * 1989-10-26 2005-12-20 Encyclopaedia Britannica, Inc. Multimedia search system
JPH05250414A (en) * 1992-03-06 1993-09-28 Nippon Telegr & Teleph Corp <Ntt> Keyword retrieving system
JPH08221431A (en) * 1995-02-09 1996-08-30 Canon Inc Data managing method and data base system therefor
US5752242A (en) * 1996-04-18 1998-05-12 Electronic Data Systems Corporation System and method for automated retrieval of information
US6366923B1 (en) * 1998-03-23 2002-04-02 Webivore Research, Llc Gathering selected information from the world wide web
US6845370B2 (en) * 1998-11-12 2005-01-18 Accenture Llp Advanced information gathering for targeted activities
US7181459B2 (en) * 1999-05-04 2007-02-20 Iconfind, Inc. Method of coding, categorizing, and retrieving network pages and sites
US7421648B1 (en) * 1999-05-21 2008-09-02 E-Numerate Solutions, Inc. Reusable data markup language
US7181438B1 (en) 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
JP2001067262A (en) * 1999-08-31 2001-03-16 Degital Institute:Kk Information processing system and information recording medium
BR0015473A (en) * 1999-11-02 2002-07-09 Clarity Inc E Verbal classification system and method for sending and receiving information efficiently, method for communicating information from a user to an electronic system, communication system between a human being and a digital interface based on language analysis, method for sending and receipt of information regarding a person without revealing the person's physical or legal identity
JP2001147922A (en) * 1999-11-18 2001-05-29 Canon Inc Device and method for managing document and storage medium
IL133546A0 (en) * 1999-12-16 2001-04-30 Lewin Asaf A system for providing services through the internet
JP2001188760A (en) 1999-12-28 2001-07-10 Sony Corp Device and method for processing information and recording medium
AU2001241564A1 (en) * 2000-02-17 2001-08-27 E-Numerate Solutions, Inc. Rdl search engine
US6499029B1 (en) * 2000-03-29 2002-12-24 Koninklijke Philips Electronics N.V. User interface providing automatic organization and filtering of search criteria
US6604107B1 (en) * 2000-04-24 2003-08-05 Ebay Inc. Generic attribute database system for storing items of different categories having shared attributes
JP2001326921A (en) 2000-05-15 2001-11-22 Sony Corp Contents management system, contents management method, camera apparatus
US7062483B2 (en) 2000-05-18 2006-06-13 Endeca Technologies, Inc. Hierarchical data-driven search and navigation system and method for information retrieval
DE10031351A1 (en) * 2000-06-28 2002-01-17 Guru Netservices Gmbh Automatic research procedure
US6675159B1 (en) * 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US6757662B1 (en) * 2000-08-21 2004-06-29 Richard L. Greenwald Method and system for display advertisement qualification and notification
US7185001B1 (en) * 2000-10-04 2007-02-27 Torch Concepts Systems and methods for document searching and organizing
US7647339B2 (en) * 2000-10-04 2010-01-12 Gonzalez Emmanuel C Method for digitally labeling websites
US7069310B1 (en) * 2000-11-10 2006-06-27 Trio Systems, Llc System and method for creating and posting media lists for purposes of subsequent playback
JP2002183210A (en) 2000-12-14 2002-06-28 Nippon Telegraph & Telephone East Corp Contents retrieving method in retrieval server and computer-readable recording medium with its program recorded thereon
JP4697913B2 (en) * 2000-12-20 2011-06-08 キヤノン株式会社 Data retrieval apparatus and method
JP3545347B2 (en) 2001-01-15 2004-07-21 株式会社アマダ情報サービス Search system
WO2003040963A1 (en) * 2001-11-02 2003-05-15 Medical Research Consultants L.P. Knowledge management system
US7266563B2 (en) * 2001-12-28 2007-09-04 Fotomedia Technologies, Llc Specifying, assigning, and maintaining user defined metadata in a network-based photosharing system
US7203675B1 (en) * 2002-02-19 2007-04-10 Ncr Corp. Methods, systems and data structures to construct, submit, and process multi-attributal searches
JP2003296341A (en) 2002-04-03 2003-10-17 Nissan Motor Co Ltd Database generation method, database generation program, data structure, database generation system, retrieval system and retrieval method
JP3793479B2 (en) * 2002-04-05 2006-07-05 富士通株式会社 Information provision system
US20040143659A1 (en) * 2002-04-26 2004-07-22 Milliken Russell C. System and method for a scalable notification server providing
JP4073734B2 (en) 2002-08-19 2008-04-09 日本電信電話株式会社 Information retrieval system that recommends input word candidates
US7496559B2 (en) * 2002-09-03 2009-02-24 X1 Technologies, Inc. Apparatus and methods for locating data
US6944612B2 (en) * 2002-11-13 2005-09-13 Xerox Corporation Structured contextual clustering method and system in a federated search engine
KR20040048548A (en) 2002-12-03 2004-06-10 김상수 Method and System for Searching User-oriented Data by using Intelligent Database and Search Editing Program
US7472110B2 (en) * 2003-01-29 2008-12-30 Microsoft Corporation System and method for employing social networks for information discovery
US7885963B2 (en) * 2003-03-24 2011-02-08 Microsoft Corporation Free text and attribute searching of electronic program guide (EPG) data
JP2004341960A (en) 2003-05-16 2004-12-02 Sony Corp Position dependent information retrieval method, position dependent information retrieval device, position dependent information providing device, and position dependent information retrieval program
US8589373B2 (en) * 2003-09-14 2013-11-19 Yaron Mayer System and method for improved searching on the internet or similar networks and especially improved MetaNews and/or improved automatically generated newspapers
JP2005202788A (en) * 2004-01-16 2005-07-28 National Institute Of Advanced Industrial & Technology Method, device and program for searching for space, and computer- readable recording medium for recording this program
JP2005242586A (en) * 2004-02-25 2005-09-08 Fuji Xerox Co Ltd Program, apparatus, system and method for providing document view
US8676830B2 (en) 2004-03-04 2014-03-18 Yahoo! Inc. Keyword recommendation for internet search engines
JP2005251115A (en) 2004-03-08 2005-09-15 Shogakukan Inc System and method of associative retrieval
US7933900B2 (en) 2005-10-23 2011-04-26 Google Inc. Search over structured data
US20070100862A1 (en) 2005-10-23 2007-05-03 Bindu Reddy Adding attributes and labels to structured data
US7882156B2 (en) * 2005-11-02 2011-02-01 Requisite Software, Inc. System and method for storing item attributes in an electronic catalog

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701314B1 (en) * 2000-01-21 2004-03-02 Science Applications International Corporation System and method for cataloguing digital information for searching and retrieval
US20020016800A1 (en) * 2000-03-27 2002-02-07 Victor Spivak Method and apparatus for generating metadata for a document
US20040250205A1 (en) * 2003-05-23 2004-12-09 Conning James K. On-line photo album with customizable pages
US20050240393A1 (en) * 2004-04-26 2005-10-27 Glosson John F Method, system, and software for embedding metadata objects concomitantly wit linguistic content

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110202517A1 (en) * 2005-10-23 2011-08-18 Google Inc. Search over structured data
US8762372B2 (en) 2005-10-23 2014-06-24 Google Inc. Search over structured data
US9792333B2 (en) 2005-10-23 2017-10-17 Google Inc. Adding attributes and labels to structured data
US8060357B2 (en) * 2006-01-27 2011-11-15 Xerox Corporation Linguistic user interface
US20070179776A1 (en) * 2006-01-27 2007-08-02 Xerox Corporation Linguistic user interface
US20110231392A1 (en) * 2006-07-28 2011-09-22 Dustin Boswell Unified Search Interface
US7890499B1 (en) 2006-07-28 2011-02-15 Google Inc. Presentation of search results with common subject matters
US20080154880A1 (en) * 2006-12-26 2008-06-26 Gu Ta Internet Information Co., Ltd. Method of displaying listed result of internet-based search
US8849817B1 (en) 2006-12-29 2014-09-30 Google Inc. Ranking custom search results
US9342609B1 (en) 2006-12-29 2016-05-17 Google Inc. Ranking custom search results
US8930359B1 (en) 2006-12-29 2015-01-06 Google Inc. Ranking custom search results
US7751620B1 (en) * 2007-01-25 2010-07-06 Bitdefender IPR Management Ltd. Image spam filtering systems and methods
US10585920B2 (en) 2007-03-20 2020-03-10 Google Llc Temporal layers for presenting personalization markers on imagery
US11636138B1 (en) 2007-03-20 2023-04-25 Google Llc Temporal layers for presenting personalization markers on imagery
US8584013B1 (en) 2007-03-20 2013-11-12 Google Inc. Temporal layers for presenting personalization markers on imagery
US9529909B2 (en) 2007-06-25 2016-12-27 Successfactors, Inc. System and method for career website optimization
US8271473B2 (en) * 2007-06-25 2012-09-18 Jobs2Web, Inc. System and method for career website optimization
US20090063468A1 (en) * 2007-06-25 2009-03-05 Berg Douglas M System and method for career website optimization
US10198744B2 (en) * 2008-02-04 2019-02-05 Google Llc User-targeted advertising
US20090210406A1 (en) * 2008-02-15 2009-08-20 Juliana Freire Method and system for clustering identified forms
US20090210407A1 (en) * 2008-02-15 2009-08-20 Juliana Freire Method and system for adaptive discovery of content on a network
US7996390B2 (en) 2008-02-15 2011-08-09 The University Of Utah Research Foundation Method and system for clustering identified forms
US8965865B2 (en) 2008-02-15 2015-02-24 The University Of Utah Research Foundation Method and system for adaptive discovery of content on a network
US20110145345A1 (en) * 2008-02-22 2011-06-16 John Anthony Wysham Methods, systems,and computer program products for retrieving a file of machine readable data
GB2470521A (en) * 2008-02-22 2010-11-24 Lantana Ltd Method, systems, and computer program products for retrieving a file of machine readable data
WO2009105274A1 (en) * 2008-02-22 2009-08-27 John Anthony Wysham Methods, systems, and computer program products for retrieving a file of machine-readable data
US20110010224A1 (en) * 2009-07-13 2011-01-13 Naveen Gupta System and method for user-targeted listings
US8538934B2 (en) * 2011-10-28 2013-09-17 Microsoft Corporation Contextual gravitation of datasets and data services
US9336279B2 (en) 2012-05-07 2016-05-10 Google Inc. Hidden text detection for search result scoring
US8639680B1 (en) * 2012-05-07 2014-01-28 Google Inc. Hidden text detection for search result scoring
US11366572B2 (en) 2014-12-01 2022-06-21 Ebay Inc. Mobile optimized shopping comparison
US10459608B2 (en) * 2014-12-01 2019-10-29 Ebay Inc. Mobile optimized shopping comparison
US11005851B2 (en) * 2018-08-09 2021-05-11 Camelot Uk Bidco Limited Retrieving digital content over a network
US11765180B2 (en) 2018-08-09 2023-09-19 Camelot Uk Bidco Limited Retrieving digital content over a network
US11280629B2 (en) * 2019-03-21 2022-03-22 Boe Technology Group Co., Ltd. Method for determining trip of user in vehicle, vehicular device, and medium
US20210097139A1 (en) * 2019-09-26 2021-04-01 Sap Se Creating line item information from free-form tabular data
US20220043979A1 (en) * 2019-09-26 2022-02-10 Sap Se Creating line item information from free-form tabular data
US11687549B2 (en) * 2019-09-26 2023-06-27 Sap Se Creating line item information from free-form tabular data
US11176324B2 (en) * 2019-09-26 2021-11-16 Sap Se Creating line item information from free-form tabular data

Also Published As

Publication number Publication date
JP2009512953A (en) 2009-03-26
EP1955137A4 (en) 2009-08-05
EP1955137A2 (en) 2008-08-13
KR20080080098A (en) 2008-09-02
CA2626856A1 (en) 2007-04-26
JP5300960B2 (en) 2013-09-25
WO2007046829A3 (en) 2007-11-15
US20100094848A1 (en) 2010-04-15
US20130339338A1 (en) 2013-12-19
JP2012053917A (en) 2012-03-15
WO2007046829A2 (en) 2007-04-26
US20120290557A1 (en) 2012-11-15
US9792333B2 (en) 2017-10-17

Similar Documents

Publication Publication Date Title
US9792333B2 (en) Adding attributes and labels to structured data
US8762372B2 (en) Search over structured data
US10803131B2 (en) Systems and methods to identify and present filters
US9652524B2 (en) System and method for creating topic neighborhood visualizations in a networked system
US8380694B2 (en) Method and system for aggregating reviews and searching within reviews for a product
US20010049674A1 (en) Methods and systems for enabling efficient employment recruiting
US20140358971A1 (en) Techniques for identifying chain businesses and queries
US20060143158A1 (en) Method, system and graphical user interface for providing reviews for a product
JP2009199601A (en) Serving advertisement using user request information and user information
CN104216942A (en) Query suggestion templates
EP1834249A2 (en) Method, system and graphical user interface for providing reviews for a product
US10789606B1 (en) Generation of an advertisement

Legal Events

Date Code Title Description
AS Assignment

Owner name: GOOGLE, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:REDDY, BINDU;SPIGHT, MARSHALL;MOSBERGER, NING;REEL/FRAME:017091/0615

Effective date: 20051129

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION