System and computer program product for creating and processing URLs
The present invention is directed to a method and computer readable medium for automatically generating a Uniform Resource Locator (URL) from schema and semantics of an organizational structure. The semantically intelligent URL conveys knowledge about content it accompanies by defining patterns of possible URL parameters within an organizational structure of related content stored in a database, each pattern being represented by entities and semantic information formed of attributes and relationships. The patterns of the URL organize categories of information and form relationships among the entities. The patterns are used for automatically generating a URL along with semantic information about the content in a resource or web page, wherein said semantic information explains the content, such as with attributes of entities, such as in a name value pair that correlates to the content of a page.
Latest Bootstrap Collective LLC Patents:
This application is a continuation of U.S. patent application Ser. No. 16/558,980, filed Sep. 3, 2019, which is a continuation of U.S. patent application Ser. No. 15/169,192, filed on May 31, 2016, now issued as U.S. Pat. No. 10,445,393, issued on Oct. 15, 2019, all of which are herein incorporated by reference in their entireties.
COPYRIGHT NOTIFICATIONA portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION Field of the InventionThe invention relates to providing semantic information in a URL for accessing data, optimizing search engine, and providing organizational data in a structure for automatically creating sematic information for the World Wide Web (WWW).
Description of Related ArtA need exists for URLs that are descriptive of page content, easily discernible, and that operate within web crawler parameters. The majority of web traffic is driven by the major commercial search engines, such as Google and Bing. Although social media has become a popular generator of visits to a website, search engines remain the primary method of navigation for most Internet users today who are using websites that provide content, services, products, or information.
Among other things, search engines provide targeted traffic and help people find what they are looking for. Search engines can also help websites draw users by creating interest for what they offer. They make this happen by finding websites and adding content about the websites to their databases, which in turn can drive traffic to a website.
One of the problems with search engines is that they have a limited number of positions on a search results page. The results that fill those positions are ordered by a rank algorithm. Top results on a search results page relate proportionately to the relevance of the page to the key words and its ability to attract searchers. As a result, the top positions on a first page of search results receive much more traffic than results lower down the page and considerably more results than subsequent pages. The fact that great attention is given to so few results means that there will always be a financial incentive for search engine rankings. Websites and businesses compete with one another for search engine attention and for the user traffic and brand visibility prominence search results can provide.
When a person performs an online search, the search engine scours its corpus of documents (billions of them) and returns only those results that are relevant and/or useful to a searcher's query. Additionally, results are ranked according to the popularity of the websites serving the information. The process of search engine optimization is meant to influence both relevance and popularity. One of the problems with search engines is that, usually, users do not take the time to scour the results. It is common practice for Internet users to not click through pages and pages of search results. Therefore, where a site ranks in a search is essential for directing more traffic toward that site.
Search Engine Optimization (SEO) attempts to increase the number of visitors to a website by adjusting characteristics for the website to increase ranking level in the search results of a search engine. The higher a website ranks in the results of a search, the greater the chance that the site will be visited by a user. Therefore, much attention is given to increasing ranking of web pages.
SEO helps to increase accessibility of a website to a search engine and improves the chances that the site will be found by the search engine. Keywords (words entered by users that the search engine uses to perform a search) associated with websites, web pages, and URLs (Uniform Resource Locators) of web pages are an important part of SEO. However, many websites and web pages do not make use of the keywords entered by their users in a very efficient and optimized manner to increase relevant traffic to the website.
Experience has shown that search engine traffic can make (or break) an organization's success. Search engines provide results through the use of search queries, which are the words that users type into a search engine search box to initiate a search. Search queries carry extraordinary value. Targeted traffic to a website can provide publicity, revenue, and exposure like no other channel of marketing. It is common for companies to invest in SEO for marketing and promotion purposes.
However, targeting traffic can be difficult because, often, little is known about how the algorithms of search engines operate. Search engine companies keep the algorithms secret and often provide little insight into how to achieve better results or garner more traffic.
For example, Google recommends making pages primarily for users, not for search engines. Some websites are designed to present different pages to users than those that are presented to search engines, a practice commonly referred to as “cloaking.” Google emphasizes transparency, encouraging websites to present to users the same content that is presented to and used by search engines to determine relevancy and rank.
Through methods like patent analysis, experiments, and live testing, search marketers as a community have come to understand many of the basic operations of search engines and the critical components of creating websites and pages that earn high rankings and significant traffic. Poor link structures may make a site unreachable. If a website's link structure is not understandable to search engines, they may not reach all of the website's content, or the minimally-exposed content may be deemed unimportant by the search engine's index.
For example, mixed contextual signals and mixed messages send confusing signals to search engines. If the title of your blog post is “Nebraska's Best Hunting”, but the post itself is about a vacation resort in Canada, which happens to have a hunting museum that provides information regarding hunting in Nebraska, it sends a confusing message. Many websites lack hierarchy and text links that make every page reachable from at least one static text link.
However, even creating a useful, information-rich site that clearly and accurately describes your content does not guarantee search engine results will be perfect. Websites increasingly make elements and attributes search engine friendly, such as <title> elements and ALT (alternative) attributes that are descriptive and accurate. Keywords are used to create descriptive, human-friendly URLs and provide one version of a URL to reach a document using 301 redirects or the rel=“canonical” attribute to address duplicate content. URLs are commonly used as text-based addresses to identify Internet resources (e.g., web pages). It may be advantageous to identify an Internet resource that may be easily remembered by a user and easily found through search engines. Because a URL may comprise additional information used by the Internet resource, the URL may become complex and difficult to discover through searches. URL rewriting is a common technique which allows users to interact with an Internet resource using a simple URL. A user may enter a simple URL that is then rewritten to a URL comprising more complex and useful information for the Internet resource (e.g., information concerning the web browser requesting the URL). Another technique used to enhance a user's experience with Internet resources is caching, which is a technique that allows a URL and/or Internet data to be stored for quick access.
Links and hyperlinks are the original navigational elements of the Internet.
EXAMPLE 1<a href=“http://www.jonwye.com”>Jon Wye's Custom Designed Belts</a>
In the above example, the link tag “<a” indicates the start of a link. The link referral location tells the browser and the search engines where the link points (above the URL http://www.jonwye.com is referenced). Next, the visible portion of the link for visitors, called anchor text in the SEO world, describes the page the link points to. In this example, the linked-to page contains information concerning custom belts made by Jon Wye, thus the anchor text, “Jon Wye's Custom Designed Belts.” The “</a>” tag closes the link to constrain the linked text between the tags and to prevent the link from encompassing other elements on the page. As shown, the link tags can contain images, text, or other objects and provide a clickable area on the page that users can engage to request a move to another page.
URLs are used in ranking documents. Links and hyperlinks are URLs, the addresses for documents on the web. Not only are they important in terms of SEO, but since they show up on SEO results, they are also prominently displayed to users. Since search engines display URLs in the search results, they can impact click-through and visibility. Search engines can pick up ranking signals from elements of the underlying code that is used by search engines to understand the details of the page content and structure.
Attempts to increase ranking can often fail. For ranking documents, web pages whose names include queried search terms receive some benefit from a proper, descriptive use of keywords. URLs appear in the web browser's address bar.
One way to increase rank is to use URLs. If an appropriately descriptive URL can easily and accurately predict the content a user would expect to find on a web page, that URL will rank higher in the search results. While a descriptive URL is important, minimizing length and trailing slashes make URLs easier to copy and paste (into emails, blog posts, text messages, etc.) and display fully in a search engine's search results. If the user's page is targeting a specific term or phrase, the user should be sure to include it in the URL. Unfortunately, some websites artificially load URLs with multiple keywords and without many parameters, numbers, and/or symbols for SEO purposes and an overuse that results in fewer usable URLs, from both a search engine and a user standpoint.
Another difficulty with URLs are all the symbols being used. Not all web applications accurately interpret separators like underscores (_) plus signs (+), or spaces (%20), and instead use the hyphen character (−) to separate words in a URL, as in the “google-fresh-factor” URL example above.
Using technologies like mod_rewrite for Apache and ISAPI_rewrite for Microsoft, a user can easily transform dynamic URLs. The mod_rewrite module uses a rule-based rewriting engine based on a PCRE regular-expression parser to rewrite requested URLs on the fly. By default, mod_rewrite maps a URL to a filesystem path. However, it can also be used to redirect one URL to another URL or to invoke an internal proxy fetch. ISAPI_rewrite provides a rule-based rewriting engine to rewrite requested URLs on the fly. It supports a large number of rules and conditions to provide an incredibly flexible and powerful URL manipulation mechanism. The URL manipulations can depend on tests for HTTP headers, server variables, request-URI, and method and version information of a client request. Even single dynamic parameters in a URL can result in lower overall ranking and indexing.
A blog might have a URL that encodes the dates of each entry:
http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=19
It can be Altered Like this:
http://www.example.com/Blog/2006/12/19/
However, these types of rewrites are superficial, simple rule based manipulations to alter a URL that have no relation to how content is organized on the server side.
It would be preferable to utilize conventional, all-purpose search engines to increase rankings of the desired content in databases on the web and make a URL that is based on the host's organizational structure of the data in the web page. Thus, it would be preferable to provide a way for website operators to make their database content accessible and searchable using conventional search engines and web crawlers. It is further desirable to enable users to search database content directly from a browser when the user already knows one or more database driven websites that likely contain relevant information.
SUMMARY OF THE INVENTIONThe present invention is directed to a system and method for automatically generating a Uniform Resource Locator (URL) from schema and semantics of an organizational structure.
Various objects, features, aspects, and advantages of the present invention will become more apparent from the following detailed description of preferred embodiments of the invention, along with the accompanying drawings in which like numerals represent like components.
In preferred embodiments, a method and system are provided for generating an intelligent Uniform Resource Locator (URL) from schema and semantics of an organizational structure. In another preferred embodiment, the intelligent URL comprises defining patterns of possible URL parameters within an organizational structure of related content stored in a database, each pattern being represented by entities, attributes, and relationships. The attributes organize categories of information and form relationships among the entities. In another preferred embodiment, the patterns are used for automatically generating a URL using said patterns to arrange the entities and attributes of the schema to form a URL with semantic information about the content in a web page, wherein said semantic information explains relationships between entities, as well as relationships between entity and attributes of the entity, and wherein the semantic parameter is at least one name value pair and correlates to the content of a page.
In another preferred embodiment of the intelligent URL, possible URL patterns are formed of attributes of associated data mappings, associating representations of items in a database, using the relationships between them, programming instructions for associating elements together, or file structures, comprising one or more types of structure. In another preferred embodiment of the intelligent URL, a URL of the method further comprises a relational attribute that indicates a hierarchical location of the dynamically accessed data from among a plurality of sources of data stored in the database. The method can further comprise automatically mapping when a client requests a page with parameters not previously mapped by using relationships in the database. This provides horizontal links that permit different elements of the organizational structure to cooperate, whilst individually optimizing different success criteria.
In another preferred embodiment, a computer-implemented method is provided for generating an indexable Uniform Resource Locator (URL) from schema and semantics of an organizational structure. In another preferred embodiment, the intelligent URL is used for defining patterns of possible URL parameters within the organizational structure of related content stored in a database, each pattern represented by entities, attributes, and relationships, the attributes organizing categories of information and forming relationships among the entities. In another preferred embodiment of the intelligent URL, a URL is automatically generated by using said patterns to arrange the entities and attributes of the schema to form a URL with semantic information about the content in a web page, wherein said semantic information explains relationships between entities, as well as relationships between entity and attributes of the entity, wherein the semantic parameter is at least one name value pair and correlates to the content of a page.
In another preferred embodiment of the intelligent URL, a web crawler program activates the generated URL, causing a page request from an Internet content provider and a response to the page request, including a page that matches the content in the generated URL.
In another preferred embodiment, the intelligent URL system and method comprise the semantic language, indicating an area of subject matter to be searched and accessed from among the data associated with the relational attribute in the database, the subject matter corresponding to the semantic language of the specified URL entered by the user. The system can use the relational attribute to indicate a level for corresponding semantic data.
In another preferred embodiment of the intelligent URL, a system for automatically generating a Uniform Resource Locator (URL) from schema and semantics of an organizational structure is provided. The system defines patterns of possible URL parameters within an organizational structure of related content stored in a database, each pattern represented by entities, attributes, and relationships, with the attributes organizing categories of information and forming relationships among the entities. The system automatically generates a URL and uses patterns to arrange the entities and attributes of the schema to form a URL with semantic information about the content in a web page, wherein said semantic information explains relationships between entities and relationships between entity and attributes of the entity, and wherein the semantic parameter is at least one name value pair and correlates to the content of a page.
In another preferred embodiment of the intelligent URL, a computer readable medium has computer executable instructions thereon for automatically generating a Uniform Resource Locator (URL) from schema and semantics of an organizational structure, said computer executable instructions thereon comprising computer executable instructions. The system and method defines a pattern of a possible URL parameter within the organizational structure of related content, the pattern represented by relational attributes of a schema that organize categories of information and the relationships among them. The system automatically generates the URL comprising the relational attributes of the schema and semantic information about the relational attributes.
In another preferred embodiment of the intelligent URL, a system comprises one or more computers and one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations. The system can be used for determining, for each hub, respective components, wherein the components are used for filtration and based on a selection of relational attributes within a vertical. The system can be used for determining, for each spoke component, an explicit relationship with an associated hub component, wherein relevant semantic information from a Uniform Resource Locator (URL) is used to determine topic(s). In another preferred embodiment, the intelligent URL relates relevant (single or multiple) spoke component data using a mapping table. In another preferred embodiment, the intelligent URL calculates a modified set of semantic attributes with potential of increasing or decreasing the complexity of a Uniform Resource Locator (URL) semantic information. In another preferred embodiment, the intelligent URL offers more specific choices of URLs for limiting scope of filtered content. In another preferred embodiment, the intelligent URL offered less specific choices of URLs for broadening scope of filtered content and offering similarly specific choices of URLs with different but related semantic attributes for changing scope of filtered content.
In another preferred embodiment, the intelligent URL provides a method for requesting dynamically accessed data stored in a database using a Uniform Resource Locator (URL). In another preferred embodiment, the intelligent URL receives a specified URL into an address data field of an application, the URL comprising at least one semantic information subfield of know-how about the stored data, and indicates limits on the scope of the dynamically accessed data. In another preferred embodiment, the intelligent URL transmits requested updates to the data by changing at least one subfield in the address data field to include new semantic information and receives updated dynamically accessed data in response to changes in the semantic information.
In another preferred embodiment of the intelligent URL, changes comprise updating a previously received subfield, deleting a previously received subfield, and/or adding a new subfield. In another preferred embodiment of the intelligent URL, the URL can be used to filter the dynamically accessed data for return to the requester and comprises relational attributes and semantic language. In another preferred embodiment, the intelligent URL further indicates using semantic information, an update to the data store. In another preferred embodiment of the intelligent URL, the URL further comprises a relational attribute that indicates a hierarchical location of the dynamically accessed data from among a plurality of sources of data stored in the database.
In another preferred embodiment of the intelligent URL, the relational attribute comprises a pattern of a possible URL parameter within the organizational structure of the data, the pattern representing categories of information and the relationships among them. In another preferred embodiment of the intelligent URL, the semantic language indicates an area of subject matter to be searched and accessed from among the data associated with the relational attribute in the database, the subject matter corresponding to the semantic language of the specified URL entered by the user. In another preferred embodiment, the intelligent URL uses the relational attribute to indicate a level for corresponding semantic data.
For purposes of the description hereinafter, the terms “upper”, “lower”, “right”, “left”, “vertical”, “horizontal”, “top”, “bottom”, “lateral”, “longitudinal” and derivatives thereof shall relate to the invention as it is oriented in the drawing figures. However, it is to be understood that the invention may assume various alternative variations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the attached drawings, and described in the following specification, are simply exemplary embodiments of the invention. Hence, specific dimensions and other physical characteristics related to the embodiments disclosed herein are not to be considered as limiting.
As used herein, the terms “communication” and “communicate” refer to the receipt, transmission, or transfer of one or more signals, messages, commands, or other type of data. For one unit or device to be in communication with another unit or device means that the one unit or device is able to receive data from and/or transmit data to the other unit or device. A communication may use a direct or indirect connection, and may be wired and/or wireless in nature. Additionally, two units or devices may be in communication with each other even though the data transmitted may be modified, processed, routed, etc., between the first and second unit or device. It will be appreciated that numerous other arrangements are possible.
A vertical is an offering of goods and/or services specific to an industry, trade, profession, or other group of customers with specialized needs. In a preferred and non-limiting embodiment, particular verticals are related to outdoor activities, more specifically, hunting and fishing as shown on buttons 104 and 106, respectively. In the webpage model, top level pages are vertical in nature, but the logical arrangement of items is not limited to only hierarchical representations or web pages as those of skill in the art will recognize that other types of arrangements, such as diagonal or horizontal, or combinations would also be suitable for representation of web pages, or other applications on the Internet. The buttons are a gateway to the specific areas of activity, acting to guide the client. Other examples are specialized ecommerce vendors or service providers, such as hotels, where particular software is used to manage services and amenities.
With reference to
When the user is viewing the page 102, or pages related to it, selectable options can be made by a user or web crawler which result in the user requesting the page shown in
With reference to
The same URL could also be written with other attributes such as, http://farwide.com/araa/Area/List/-/Activity(Hunting,Fishing); Region(Nebraska);GameType(Big-Game) or http://farwide.com/araa/Area/List/-/Activity(Hunting); Region(Florida,Alabama,Louisiana); Game Type(Big-Game). One of ordinary skill in the art would understand the various combinations that can be achieved semantically through substitutions in the parameters. For example, “Region(county1,county2, county3)”, where counties are in a state, or “GameType(bird,fish,deer)” or “GameType(lion,bear,elk)”. Such name value pair combinations can filter, or act as a query, when manually input in the toolbar of a browser. These combinations can also be informative of the resource, such as a page that is sent in response to a request. These can convey knowledge to a user viewing the URL, or can convey knowledge to a web crawler robot aggregating content about a resource. The URL not only offers a technical solution, in that it can be used to provoke a server computer to send data. It also explains the content to be received, or the viewable content as in page 250. For example, the content shown is big game hunting in Nebraska. If a reader were to read the URL, it would explain the content in the page. Page 250 is such an example, with maps and explanations about hunting season for mountain lions in Nebraska. Page 200 of
Exemplary software code for enabling user's computer for documents of the displayed web pages shown in
The HTML encoding includes various tags, such as the title “Hunting Big Game in Nebraska during April 2016”; hyperlinks to other files, such as image files; references to other web pages, such as reference to a Farwide web page beginning with the text “href”; a variety of control statements, such as “if” statements; and invocations of JavaScript routines. Although web server computers can store and generate HTML documents in various ways, an HTML document is essentially equivalent to a file, with a file name, stored within a file system directory on a web server computer. An HTML document contains an HTML description of a web page and is transferred to a requesting user's computer system for rendering by the user's web browser.
Exemplary software code for enabling a user's computer to program a page, such as page 200 in
A fundamental structuring of information contained within a website occurs through URLs and hyperlinks that link to web pages containing hyperlinks to other web pages. A hyperlink is a string that defines a URL to a linked HTML document, in turn, having anchor text that annotates a displayed hyperlink in a rendered web page. Upon inputting a mouse click or other user input to a displayed anchor text of a hyperlink, the user's web browser is signaled to request the linked HTML document from a remote web page server. When the linked HTML document is received, the user's web browser renders and displays the linked HTML document as a rendered web page.
With reference to
With reference to
In
The server or multiple servers are used to retrieve, construct, and transmit a response based on a received communication. The server creates new pages by reading an incoming URL, such as those previously discussed with reference to
Client devices 420 may represent a desktop computer, laptop computer, cell or smart phone, tablet device, or other type of computing device. Each of the client devices 420 may be equipped with one or more computer storage devices 426 (e.g., RAM, ROM, PROM, and/or SRAM) and one or more processing devices 424 (e.g., a central processing unit) that are capable of executing computer program instructions. A computer storage device 426 is preferably a physical, non-transitory medium. Any of the client devices 420 may further include a display 422 that is capable of rendering an interface such as the ones described in subsequent sections and one or more input devices 428 (e.g., keyboard, microphone, camera, video camera, scanner, joystick, remote control device, and/or touchscreen). Users 410 may manipulate interfaces rendered on the display 422 using the input devices 428 to communicate with the server 440.
The server 440 includes one or more processors 442 and one or more computer storage devices 444. A computer storage device 444 is preferably a physical, non-transitory medium. The server 440 can generally represent any type of computing device that is capable of communicating with the client device 420. In some embodiments, the server 440 comprises one or more data computing devices that execute a web server and an application server for communicating with the client device 420 over the Internet. An example of such software is Microsoft Corporation's Internet Information Services (IIS) module. The storage device 444 on the server 440 can store applications or software code that are configured to provide semantically relevant pages in performing data filtration for classifying users and information based on logically related blocks stored in the database. Specifically, the server 440 may be configured to provide services to users 410 via an interface displayed on client devices 420. The server 440 can be configured to act as an engine for end users looking to find information about hunting or fishing regulations, guide services, and other informational needs to enjoy the activities, regardless of where the information is located or where the users plan to visit and to perform the steps in any of the processes described herein of
Storage devices 426 or 444 may be internal or external physical media on which the data may be stored, imported, or accessed. Storage devices 426 or 444 may be located on yet another storage medium or facility not shown herein, such as a data storage warehouse, server farm, cloud storage facility, or file hosting service. It should be noted that the system shown in
Furthermore, while
In certain embodiments, the client device 420 and the server 440 are integrated into a single device (e.g., a standard PC computer, tablet, laptop, smartphone, or other device). For example, such a device may run a standard operating system (e.g., Windows, Linux, OSX, Android, iOS).
A data processing system suitable for storing and/or executing program code may include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories, which provide temporary storage of at least some program code to reduce the number of times code is retrieved from bulk storage during execution. Input/output (I/O) devices (including, but not limited to, keyboards, displays, pointing devices, touchscreens, etc.) may be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the currently available types of network adapters.
Embodiments described herein may be hardware-based, software-based, or may comprise a mixture of both hardware and software elements. Thus, while the description herein may describe certain embodiments, features, or components as being implemented in software or hardware, it should be recognized that any embodiment, feature, or component that is described in the figures or description herein may be implemented in hardware and/or software. In certain embodiments, particular aspects are implemented in software (including, but not limited to, firmware, resident software, microcode, etc.).
Embodiments may include a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. A computer usable or computer readable medium may include any apparatus that stores, communicates, propagates, or transports the program for use by, or in connection with, the instruction execution system, apparatus, or device. The medium can be magnetic, optical, electronic, electromagnetic, infrared, a semiconductor system (or apparatus or device), or a propagation medium. The medium may include a computer-readable storage medium, such as a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read only memory (ROM), a rigid magnetic disk, an optical disk, etc.
For example, the entire semantic platform may be contained on computer readable media (e.g., a CD, hard disk, USB drive, or other bootable media) which, when inserted or coupled to a device (e.g., a standard PC computer, tablet, laptop, smartphone, or other device), invokes the platform (e.g., as “live-media”). Live-media may also contain a suitable operating system (e.g., Linux) and/or may also contain a document collection 120, or a portion thereof. When implemented as live-media, the platform may not need to alter the contents of certain memory or storage devices coupled to the device.
One useful feature provided by this system relates to the fact that a repository of informational entries can be created that carry various attributes organized and aligned within a database based on how valuable and relevant those various attributes are to one another. For example, regulations and other information about the two sports of hunting and fishing as defined and understood per the individual state game and fish organizations for multiple states can provide relevant results. A business classifier uses database blocks that have been defined internally. The organizational structure provides integration points for relevant verticals of interest added into the database, with a different definition or set of attributes and without changing the performance of the initial database blocks. For example, in a preferred embodiment, database blocks include Activity-Region-Area-Authority (ARAA), a centralized block. In addition, database blocks can be defined which function as a form of special logic specific to a vertical, for example, Genre, Season, Species (GSS). A person of ordinary skill would understand variations could be added for other types of data sets, including categories such as falconry, mountain biking, boating, skiing, ranching, rafting, and riding. This useful feature, which permits an initial classification while allowing additional block additions, is facilitated by a unique mapping scheme that connects the blocks and prioritizes the information for processing of requests and improves the manner in which the next pages are selected.
Search Engine and Web Crawler Request for URLWith continuing reference to
The application server evaluates the URL and generates a URL. A URL specifies the query parameters and/or other coding needed to dynamically access or generate a desired encyclopedia article or other information (in general, the internal attributes of the database).
In the example of
Returning to
The semantic information is within the page and the URL. Relational attributes and semantic information of a specified URL can be entered by a user into an address data field of an application. By parsing the received URL, the server is able to detect a relational attribute that indicates a hierarchical location of the dynamically accessed data from among a plurality of sources of data stored in the database, and semantic language for the dynamically accessed data indicating an area of subject matter to be searched and accessed from among the information associated with the relational attribute in the database. The subject matter corresponds to the semantic language of the specified URL entered by the user by using the relational attribute to indicate a level corresponding to the data type of the dynamically accessed data. It uses the semantic language to create an informational page. It transmits the informational page, for generating a URL for submission, such that the URL can be used to filter the dynamically accessed data for return.
The server parses the received URL to detect a relational attribute that indicates a hierarchical location of the dynamically accessed data from among a plurality of sources of data stored in the database. Using the relational attributes, the server is able to determine different parts of a URL, such as a first level, second level, third level, etc. The levels corresponding to the data entities in the database.
The server can also determine the attributes based on the received semantic language, such as key value pairs. The semantic information is used for dynamically accessing data. The semantic information indicates related areas of subject matter to be searched and accessed from among the information associated with the relational attributes in the database. The subject matter corresponds to the semantic language of the specified URL entered by the user. The semantic information is matched, in one embodiment, to different levels of a URL. With regards to
The relational entities are used to indicate a level corresponding to the data type of the dynamically accessed data. The server uses the semantic language to access the attributes, but it is also accessed from the database and used to create informational pages, such as a web page. After the data and the relational entities are retrieved, the server combines them into a URL and uses the associated data to build a user interface-displayable page at step 3. The data matches the URL. Matching algorithms on the user's computer can be used to determine relevancy and ranking, such as by a user, or some other external third party system like a web crawler. The server transmits the informational page and URL.
In some cases, a user will enter information in an address bar that comprises a URL. The system can read such a URL and return information, since every URL corresponds to data in the data base and is a map of the data. The URL can be used to filter the dynamically accessed data for return to the requester and comprises relational attributes and semantic language. The method can be used with web crawlers, substituting a web crawler for the user. The web crawler behaves in such a way that the actions mimic a user-sending a request and receiving a response.
Representations of Items Comprises Names, Values, and CategoriesPatterns in the data are preprogrammed in the database using different models. The URL defines patterns of possible URL parameters within an organizational structure. In one embodiment, a hub and spoke model maps data to logical representation. The representation is captured in the context of the URL and can also be created in programming instructions for processing by a computer or by mapping tables together with database languages. URLs can be used in the system for changing and updating a previously received field or subfield in the database, deleting a previously received subfield, or adding a new subfield. The URL can be used to filter the dynamically accessed data for return to the requester and comprises relational attributes and semantic language.
With reference to
An illustrative process for selectively, automatically creating a web page related to a semantically oriented URL, in accordance with one embodiment, is shown in
The determination of whether a link is to be requested or crawled may be made in any suitable way, as the invention is not limited in this respect. In one embodiment, a user or a web crawler may view the URL to make the determination. Any suitable rules or criteria may be used, as the invention is not limited in this respect. The user may view the URL and determine that the information in the URL is relevant and related to information that is needed.
For example, the URL can provide patterns related to a search of a specific activity. The URL defining patterns of possible parameters within an organizational structure. If the link or URL includes any of the patterns between attributes or information, the client may access the link. In addition to, or instead of these, the relation to the URL also includes relations between schema fields. The relations may include one or more patterns, which, if included in a URL or link, signify to the user or the web crawler that the link is relevant and to be followed. Another example of a criteria that may be used by the user or the web crawler to determine whether a link should be crawled is the attributes in the URL. The web crawler can use patterns in the URL, levels of the patterns, or semantic information in the URL, at particular levels, to make valuable rankings of the URL.
At a step 806, a URL or link that is followed is used by a server to create a request for a response page. Data is created that relates to the URL. The data and information can be created in any suitable way. The pages can be created using database schema by reading a logically stored set of data blocks in the database. At a step 808, a page is received by a user or a web crawler with relevant data according to the semantically oriented URL, the data and organization of the web page, directly related to the schema and relationships encoded in the URL, and the URL being used to logically identify the set of data created and embedded into the web page.
At step 810 the user reviews URL to determine the content for the displayed page in the browser. The language in the page matches the semantic and contextual information in the URL, such as hierarchical entities, objects, and keywords that are part of the URL. Alternatively to step 810, at step 812, the web crawler indexes the page by reading the content, URL, and any other information on the page. At step 814, the web crawler matches content, for example, by matching the URL to page content, such as the patterns in the URL or semantic information, like attributes of an entity, to make a determination. At step 816, based on the matching process, rank is determined for the page.
To enhance the search engine rank, as described in
The algorithm described in
A typical URI (involving a search for a relevant area in which to hunt) might be the following:
/araa/Area/List/-/Activity(Hunting); Region(Nebraska);GameType(Big-Game); Date(2016-04) In each case, specific sections will have schema.org markup relevant to the URI sections above. The content of each section will relate a URI to a model, such as the “Region” URI using the schema.org model to the indicated value of “Nebraska”. Providing markup that matches to the value in the URI, surrounding standard HTML content enhances the likelihood of Web Crawlers of indexing the URI segments above with the specific content sections. Providing additional schema.org markup in that section provides the Web Crawlers with enhanced “knowledge” of what that content section is really about, providing more than just parsing the content to determine meaning.
The resulting HTML will contain data with this type of meta tag and markup:
With regards to the above example, a person of ordinary skill in the art will understand that the actual content will vary and can be dynamically generated. In another example, identifiers are used to clarify the specific content in the page.
(Continued below)
A third example shows each section of the HTML can include schema content markup appropriate to the content in the section. For example, providing Geo Coordinates for Nebraska. In addition to just Geo Coordinates, markup will also extend, for example, the schema.org Place-Landform model (not shown).
Each of the areas listed will also have schema.org markup
In each of the areas, each season will use markup for an extension of the schema.org Event model
The set of rules for creating the web page is assimilated into the data store. They may be assimilated in any suitable way, as the invention is not limited in this respect. In one embodiment, the rules are assimilated using data blocks that are interchangeable and connected logically. The logical connections provide a schema for the creation of web pages. In one embodiment, there may be several levels of data blocks, the top level related to a vertical and each sublevel related in a unique way to the top level.
The data rules may be devised in any suitable way. For example, the rules may be defined so that pages that are created are hierarchical, have a hub and spoke with vertical information sets at the top level hub and sublevel spokes provided to store information that is directly related to and modifying the hub or related information at each sublevel and connected to the hub. Spoke information may be related to only a subset of top level hub information.
Intermediate Pages Used to Build the Nebraska Big Game PageIn a preferred embodiment, several intermediate pages can be used to distill a request.
The invention also includes a method of providing hub and spoke data through a web application using a URL and pages. An illustrative process for selectively automatically populating a cache, in accordance with one embodiment, is shown in
In this example, hub schema 1102, for the farwide.com website as discussed in
Spoke schemas 1108A-C can be added to the application model without interfering with previously configured spoke schema 1104. As exemplified by spoke schema 1104, spoke schemas are configured to interact with the hub schema. Spoke schemas can also be configured to interact with pre-existing spoke schemas and can also operate independently. Spoke schema 1108A can be added to the application during the initial configuration, or at a later time, when the information becomes necessary or identifiable. The spoke schema 1108A-C are created and added to the model without interfering with previously configured spoke schema 1104, hub 1102, or the relations there between. Spoke schema 1108A is added to hub 1102 to generate information identifying standing water information related to the vertical, specifically boat 1130, dock 1132, and gear 1134. Unlimited additional spoke schemas may be added to the data model 1100. For example the acquisition of other websites related to camping makes available information related to campsite services. The compartmentalized information is added to hub 1102 as spoke schema 1108B with components related to camping, such as campgrounds, camp utilization, RV storage, etc. The spoke model can also compartmentalize third party information for addition to the data model 1100. For example, to add professional services from foreign schema, the additional layer of information is added as an additional spoke schema. Other attributes can be added, and other arrangements can be used by those of ordinary skill in the art without departing from the scope of the claims of the invention.
In one embodiment of the invention, a system of using the hub and spoke model on one or more server computers, such as web server or cloud computer, working along with one or more storage devices, file systems, memory, or database, is capable of storing instructions that, when executed by the computer, cause the one or more computer to perform operations for building a URL. First, determining, for each hub, respective components that can be used for filtration. Such as limiting the data provided in a page to the useful data relating to a specific pattern. The pattern based on a selection of relational attributes within an organization, for example, the information could be all the data related to a specific filter in a vertical. In one embodiment, this could be all the big game areas for hunting in Nebraska. In such an instance, all the regions and information about them would be distributed with the page. In the same instance, it would be easily cognizable because the URL would identify the pattern and also the name value pairs associated within pattern entities. So a spoke would match to a name value pair component and the URL would exemplify that. The system, for each spoke component, determines an explicit relationship with an associated hub component, wherein relevant semantic information from a Uniform Resource Locator (URL) are used to determine topic(s) for relating relevant either single or multiple spoke component data using a mapping table. The system calculates a modified set of semantic attributes. The semantic attributes can be provided explicitly or contextually. In the case of contextual semantic values, it is the relationships between entities that provides a semantic aspect to the URL. The URL can be read as describing a location in an organization. For example, if an organization is a book, the semantic informing a client or customer to a precise page within a book by describing an outline or roadmap of how to get there. The potential of increasing or decreasing the complexity of a Uniform Resource Locator (URL) semantic information exists for each click of a page, in one case the more specific choices of URLs are used for limiting scope of filtered content. In other cases, less specificity of URLs is used for broadening scope of filtered content. In one embodiment, the users can manually change the URL when a pattern in the URL is well understood. By changing the URL, the user can cause the URL to transmit to the server to act as a query to the server data center. The URL can provide a tool for accessing data. Specified choices of URLs with different but related semantic attributes for changing scope of filtered content.
In mapping 1170, game type and species are related as spoke-to-spoke mappings. In mapping 1172, hub.activity is related to spoke.game-type through an explicit hub-to-spoke mapping. The effect of the relationships in the mappings 1170 and 1172 is to cause an implied mapping 1174 relation between activity and species. Likewise, a similar effect is caused for mappings 1176 and 1178. Mappings 1180 and 1182 are implied, because the hub-to-hub relationship.
Data can be stored as an object, such as a variable, a data structure, or a function, and as such, is a location in memory having a value and possibly referenced by an identifier. Object can also refer to a particular instance of a class where the object can be a combination of variables, functions, and data structures. In a database, such as a relational database, an object can be a table or column, or an association between data and a database entity, such as relating an area to a species.
It is to be understood that the above-described embodiments are merely illustrative of numerous and varied other embodiments which may constitute applications of the principles of the invention. Such other embodiments may be readily devised by those skilled in the art without departing from the spirit or scope of this invention and it is our intent they be deemed within the scope of our invention.
Claims
1. A system, comprising:
- a relational database; and
- at least one processor configured to:
- define patterns of possible uniform resource location (“URL”) parameters for automatically generating a URL to indicate a hierarchical location of dynamically accessed data within an organizational structure of related content stored in a database, each of the patterns of possible URL parameters represented by one or more entities, one or more attributes, and one or more relationships, wherein the one or more attributes form organized categories of information and form relationships among two or more entities; and
- generate the URL by dynamically mapping the URL using the patterns of the possible URL parameters to arrange the one or more entities and the one or more attributes to form the URL, along with semantic information about a web page, wherein said semantic information describes a relation between the one or more entities and one or more relational attributes of the one or more entities, and said patterns of the possible URL parameters further limit the one or more entities, wherein a URL parameter of the possible URL parameters includes at least one name value pair and correlates the hierarchical location of dynamically accessed data associated to the web page.
2. The system of claim 1, wherein the semantic information is associated with at least a portion of at least one pattern of the patterns of the possible URL parameters and indicates an area of subject matter to be searched or accessed in the database corresponding to the semantic information of a specified URL.
3. The system of claim 1, wherein the at least one processor is further configured to:
- determine a level for corresponding semantic data based on at least one pattern of the patterns of the possible URL parameters, wherein the level is at least one of a horizontal or a vertical level.
4. The system of claim 1, wherein the at least one processor is further configured to:
- update a previously received subfield;
- delete the previously received subfield; and
- add a new subfield.
5. The system of claim 1, wherein the at least one processor is further configured to:
- filter the dynamically accessed data based on the URL for return to a requester, wherein the URL includes the one or more relational attributes and semantic language.
6. The system of claim 5, wherein the at least one processor is further configured to:
- update data stored in the database based on the semantic language.
7. The system of claim 6, wherein the at least one processor is further configured to:
- determine the hierarchical location of the dynamically accessed data from among a plurality of sources of data stored in the database based on at least one relational attribute of the one or more relational attributes.
8. The system of claim 7, wherein the at least one relational attribute includes the pattern of the possible URL parameters within the organizational structure of the data, wherein the pattern of the possible URL parameters represents categories of information and the relationships among them.
9. The system of claim 8, wherein the at least one processor is further configured to:
- determine content to be searched and accessed from among the data associated with the at least one relational attribute in the database based on the semantic language, the content corresponding to the semantic language of a specified URL.
10. The system of claim 1, wherein the relational database includes a plurality of objects mapped together, and the at least one processor is further configured to perform at least one of:
- updating a previously received field in the database, changing a previously received field in the database, deleting a previously received field in the database, or adding a new field in the database.
11. The system of claim 10, wherein the relational database includes a hub and spoke model mapping data to a logical representation, and the at least one processor is further configured to:
- determine, for each hub, at least one component;
- filter dynamically accessed data to determine return data in response to a request and comprises relational attributes and semantic language, wherein the return data is filtered based on the at least one component and based on a selection of relational attributes within a vertical level; and
- determine, for each spoke component, an explicit relationship for an associated component of the hub, wherein relevant semantic information from a URL is used to determine a topic that relates one or more components of one or more spokes.
12. A computer program product comprising at least one non-transitory computer-readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to:
- define patterns of possible URL parameters for automatically generating a URL to indicate a hierarchical location of dynamically accessed data within an organizational structure of related content stored in a database, each of the patterns of the possible URL parameters represented by one or more entities, one or more attributes, and one or more relationships, wherein the one or more attributes form organized categories of information and form relationships among two or more entities; and
- generate the URL by dynamically mapping the URL using the patterns of the possible URL parameters to arrange the one or more entities and the one or more attributes to form the URL, along with semantic information about a web page, wherein said semantic information describes a relation between the one or more entities and one or more relational attributes of the one or more entities, and said patterns of the possible URL parameters further limit the one or more entities, wherein a URL parameter of the possible URL parameters includes at least one name value pair and correlates the hierarchical location of dynamically accessed data associated to the web page.
13. The computer program product of claim 12, wherein the semantic information is associated with at least a portion of at least one pattern of the patterns of the possible URL parameters and indicates an area of subject matter to be searched or accessed in the database corresponding to the semantic information of a specified URL.
14. The computer program product of claim 12, wherein the one or more instructions further cause the at least one processor to:
- determine a level for corresponding semantic data based on at least one pattern of the patterns of the possible URL parameters, wherein the level includes at least one of a horizontal or a vertical level.
15. The computer program product of claim 12, wherein the one or more instructions further cause the at least one processor to:
- update a previously received subfield;
- delete the previously received subfield; and
- add a new subfield.
16. The computer program product of claim 12, wherein the one or more instructions further cause the at least one processor to:
- filter the dynamically accessed data based on the URL for return to a requester, wherein the URL includes the one or more relational attributes and semantic language; and
- update data stored in the database based on the semantic language.
17. The computer program product of claim 16, wherein the one or more instructions further cause the at least one processor to:
- determine the hierarchical location of the dynamically accessed data from among a plurality of sources of data stored in the database based on at least one relational attribute of the one or more relational attributes.
18. The computer program product of claim 17, wherein the at least one relational attribute includes the pattern of the possible URL parameters within the organizational structure of the data, wherein the pattern of the possible URL parameters represents categories of information and the relationships among them, and
- wherein the at least one processor is further configured to:
- determine content to be searched and accessed from among the data associated with the at least one relational attribute in the database based on the semantic language, the content corresponding to the semantic language of a specified URL.
19. The computer program product of claim 12, wherein the one or more instructions further cause the at least one processor to:
- update a previously received field in the database, changing a previously received field in the database, deleting a previously received field in the database, or adding a new field in the database.
20. The computer program product of claim 16,
- wherein the database is a relational database that includes a hub and spoke model including a map of data to logical representation, and the at least one processor is further configured to:
- filter dynamically accessed data to determine return data in response to a request and comprises relational attributes and semantic language, wherein the return data is filtered based on the at least one component and based on a selection of relational attributes within a vertical level; and
- determine, for each spoke component, an explicit relationship of an associated component of the hub, wherein relevant semantic information from a URL is used to determine a topic that relates one or more components of one or more spokes.
7062475 | June 13, 2006 | Szabo et al. |
7325192 | January 29, 2008 | Bialek et al. |
9678930 | June 13, 2017 | Selvaraj |
20070250705 | October 25, 2007 | Smith et al. |
20100125562 | May 20, 2010 | Nair |
20100268720 | October 21, 2010 | Spivack et al. |
20110078554 | March 31, 2011 | Nie et al. |
20110264992 | October 27, 2011 | Vishria et al. |
20120271941 | October 25, 2012 | Mirandette et al. |
20130031078 | January 31, 2013 | El Daher |
20150154012 | June 4, 2015 | Wolfram |
20150242529 | August 27, 2015 | Kinger |
20170010763 | January 12, 2017 | Mitchell |
Type: Grant
Filed: Feb 16, 2022
Date of Patent: Sep 26, 2023
Patent Publication Number: 20220171822
Assignee: Bootstrap Collective LLC (Stamford, CT)
Inventor: Steve Raymond (Greenwich, CT)
Primary Examiner: Tarek Chbouki
Application Number: 17/672,923
International Classification: G06F 16/955 (20190101);