How Semantic Web works

how semantic web represents knowledge and how to build semantic web application. lectures notes Semantic web | pdf free download
Dr.HenryEvans Profile Pic
Dr.HenryEvans,Germany,Professional
Published Date:10-07-2017
Your Website URL(Optional)
Comment
Semantic web Guidelinesummary 1. Introduction...................................................................................................6 2. WWW and Semantics.........................................................................................9 2.1 Web of Documents...........................................................................10 2.2 Programmable Web..........................................................................12 2.3 Web of Data.....................................................................................14 2.4 Semantics.........................................................................................16 2.5 Metadata..........................................................................................19 3. Data Ecosystem on the Web............................................................................22 3.1 Actors and Roles...............................................................................23 3.2 Life cycle..........................................................................................24 3.3 Architecture......................................................................................25 4. Semantic Web...............................................................................................31 4.1 RDF.................................................................................................32 4.1.1 Data Model...................................................................................33 4.1.2 URIs.............................................................................................37 4.1.3 Serializations..................................................................................39 4.2 RDFS..............................................................................................44 4.3 OWL...............................................................................................46 4.4 SPARQL..........................................................................................53 4.5 Metadata Embedded in Pages...........................................................59 4.5.1 Microformat..................................................................................59 4.5.2 RDFa............................................................................................61 4.5.3 Microdata.....................................................................................64 5. Linked Data..................................................................................................66 5.1 The Four Principles ...........................................................................68 5.2 The 5 Stars ........................................................................................69 5.3 Linked Data API..............................................................................74 5.4 Examples.........................................................................................76 4SUMMARY 5.4.1 DBpedia ......................................................................................76 5.4.2 Linked Data from the National Library of Spain...........................80 5.4.3 BBC Things ..................................................................................83 5.4.4 Federal Budget of the Brazilian Government.................................84 5.4.5 Bio2RDF.......................................................................................85 6. Vocabularies and Ontologies........................................................................ 87 6.1 Dublin Core.....................................................................................89 6.2 FOAF..............................................................................................90 6.3 SKOS..............................................................................................92 6.4 Schema.org.....................................................................................95 6.5 PROV.............................................................................................97 6.6 DCAT.............................................................................................99 7. Conclusion.................................................................................................102 Appendix – Application Development Environments............................................104 A.1 D2RQ..........................................................................................105 A.2 Virtuoso........................................................................................107 A.3 Sesame..........................................................................................108 A.4 Jena-Fuseki....................................................................................110 A.5 PublishMyData.............................................................................110 A.6 Epimorphics Linked Data Publishing Platform.............................112 A.7 Triple Stores..................................................................................116 A.8 Libraries ....................................................................................117 References...................................................................................................119 5WWW AND SEMANTICS www and Semantics Chapter 2 9Semantic Web Guideline Nowadays, for a large percentage of the world’s population, the World Wide Web is as common as television. The Web is a place where people consult information, make purchases, work, talk, establish relationships, and much more. The Web is something everyday, obvious. Is there any need to explain what the Web is to a 10-year-old born in a big city? For those born in the 21st century, the Web is the Web, just as light is light. Despite the enormous changes wrought in people’s lives by use of the Web, it is still very recent, and in constant and intense transformation. But what is the Web? 2.1 Web of Documents In technical terms, it is a system that was invented in 1989 by Tim Berners- Lee and Robert Cailliau 1 in order to use the Internet for queries and updating items of information (documents) organized in a hypertext structure. Hypertext is a structured text, composed of an interlinked set of information units (nodes) containing, for example, texts, images, videos, and others. The architecture of this system was created based on the client-server concept, where an application (a Web client) requests a document (a resource) from another application (a Web server) by providing the identification of the document. This system is composed of three basic elements, defined according to international standards: • URL ( Uniform Resource Locator) 2 is the identifier of documents, or nodes, of the structure. For example, “http://pt.wikipedia.org/wiki/ World_Wide_Web” identifies the document that describes the Web on the Wikipedia website in Portuguese. • HTML ( Hypertext Markup Language) 3 is the mark-up language for describing documents. It was initially designed as a language to describe scientific documents, but adaptations over time enabled its use to describe different types of documents. • HTTP ( Hypertext Transfer Protocol) 4 is the communication protocol for accessing documents. This protocol establishes communication rules between two applications—a client and a server—that enable specific content to be requested and the result to be returned, such as an HTML page. 10WWW AND SEMANTICS The system works as follows: an application-client, such as a Web browser, requests a document from the server, identifying this document through a URL and noting that this document should preferably be described in HTML. This URL also contains the identification of the server that will be responsible for managing the document request. The communication between the client and server is established via the HTTP protocol. Once a document is requested by the browser, the server identified by the URL returns the desired document in the form of a string formatted in HTML. Once the document is received in HTML, the browser is responsible for interpreting the HTML code and displaying the information on the screen. The original idea behind this system was that, besides viewing the information contained in a given document, users would also be able to change the information, something similar to what occurs today on websites such as Wikipedia. In addition to these three elements, another important element in this system is the link that can be created between different documents, a hyperlink in a hypertext. Links establish interconnections between different nodes of the structure. A link can be included in the code of a page, using a specific HTML tag (a href=”url-do-link”), where it is possible to specify a URL that points to another document. As a result, we have a network, a web of interconnected documents, a hypertext. The document, when viewed by people through a browser, is called a web page. In short, every web document can be accessed via a URL, and this document can be connected to other documents through links: a set of documents connected by links. This is the Web of Documents. The content of a page displayed by a browser can contain a variety of information. We could have a page with information about different products on sale in a certain store that sells appliances. This information is described in such a way as to be understood by people. What is understood by machines on a web page? The browser, or other applications that run on the Internet, cannot identify what is described in these pages in the same way that people are able to understand it. The browser does not understand the meaning of the text contained in the pages. What a browser is able to understand is the HMTL semantics, which contain ways to indicate, for example, that a particular phrase is a title, a specific HTML tag, such as the h1 tag. Therefore, we can say that a particular phrase, “Web of Documents”, is a title: “h1 Web of Documents/h1”. What the browser can understand is the relationship 11Semantic Web Guideline between the text “Web of Documents” and the h1 tag, and from there it has a way to display this title in a given style. It makes no difference to the browser what text is contained between the h1 and /h1 tags. It does not understand the text. It could be any text. The browser does not extract any information from the text itself. 2.2 Programmable Web The original web environment was basically composed of a universe of static documents kept in archives on web servers, which were requested by browsers to be displayed to users. Although a URL can simply point to a file, a web server can do more than identify a file and send it back to the client. It can run a program code and, from this computation, return content dynamically generated by the program. In this case, the HTML page returned by the server is the output of the program run according to the request identified by the URL. Each web server runs specific software to handle HTTP requests. Usually, an HTTP server has a directory or folder, which is designated as a collection of documents or files that can be sent in response to requests from browsers. These files are identified according to the URLs connected to the requests. Common Gateway Interface (CGI) is a standard method used to generate dynamic content on web pages and applications. It provides an interface between the web server and programs that generate dynamic web content. These programs are usually written in a script language, but can be written in any programming language. The Web has evolved from a simple venue for displaying pages contained in static documents to a place where different types of applications use browsers as platforms for running programs. Nowadays, it is possible to shop, perform banking procedures, send messages and partake of a multitude of other applications, through the use of browsers. Various programming environments have emerged to facilitate creating and running of these applications, such as ASP, ASP.NET, JSPJava, PHP, Perl, Python, and Ruby on Rails. Applications are generally structured in logical blocks called tiers, where each tier is assigned a role. The most common structure in web applications is based on three tiers: presentation, business logic and storage. A web browser is the 12WWW AND SEMANTICS first tier (presentation). An engine using some kind of dynamic web content technology (like JSPJava or Python) is the middle tier (business logic). A database is the third tier (storage). The browser sends requests to the middle tier, which runs services making queries and updates in the database, and then generates a response in the form of a user interface. The spread of web applications created the need for communication between applications in order to enable the exchange of data and services, which gave rise to the idea of web services and web APIs, as implementations of the concept of software components in the web environment. Web services provide a standard format for interoperation between different software applications. Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (WSDL). Other systems interact with the web service using messages described in its interface, through a specific protocol (SOAP). Web APIs have a less restrictive definition in relation to the formatting of data in the communication between applications, and use another communication protocol (REST). The general idea behind these two technologies is to enable applications to provide services to be consumed by other applications, which results in another layer within the web environment. In this layer, data traffic is being exchanged by applications, which can be manipulated, combined and transformed, depending on the tasks offered by each web application, and then presented to users. In order to illustrate the idea of components, let us consider, for example, a store that sells over the Internet and needs to give users the shipping costs for their products. In general, shipping is done by an outsourced company. So that the online store can provide this cost, the application of the website can obtain this data through a service (web service or web API) provided by the company that will do the shipping and display the cost in the interface presented to users. This data traffic between the application of the online store and the web service provided by the shipping company is invisible to the buyers of the products. The buyers only notice the communication between themselves and the online store. One problem that arises in this web component architecture is that the meaning and format of the data does not adhere to any standard, and are specified for the services in the way they deem most convenient. Thus, an 13Semantic Web Guideline application that seeks to combine data from different components needs to know each of the definitions, and if it wants to integrate this data somehow, it must know how to interpret the various definitions, in order to identify the similarities and differences between the different data returned by the multiple components. For each new service wanting to be used, its semantics and how they are described need to be understood. The semantic interoperability of different services and their data have to be performed manually. The website of the The New York Times provides a set of over 10 different APIs 5 to access its data, each with its own specification and data format. The ProgrammableWeb 6 website contains a catalog with thousands of highly varied and heterogeneous applications available, clearly illustrating the diversity in the world of the programmable web. 2.3 Web of Data Web pages displayed by a browser contain a set of information that is consumed by individuals. They include texts, photos, videos, etc., arranged on a page, so that a person can extract meaning from this information. This information generally groups together a set of data that has a certain interrelationship and where, for some reason, it makes sense to present them on a single page or document. According to the request from a URL, the web server identifies which data will be returned to the browser. In a presentation by Tim Berners-Lee 7 “Open, Linked Data for a Global Community,” he uses a bag of chips as an example of the diversity of information that the package of a product provides: nutrition facts, chemical composition, quality seals, bar code identification, ways to contact the manufacturer, etc. This information is described using specific vocabularies that require prior knowledge to be understood. For example, you need to know how to read a nutrition facts label, understand that the label refers to a specific portion and that percentages are listed in relation to the recommended daily needs for human consumption. The package contains different data grouped into a single document. In fact, there may be a lot more information that could be provided about the product, but based on various criteria, such as available space or the degree of importance of the information, the decision was made to only list certain information. There is often a web address printed on the package to indicate where further information can be obtained. 14WWW AND SEMANTICS Taking an example from the web: On a page for a store, a variety of information can be displayed, such as the store’s address and a customer service phone number. All this data is displayed in a single document that is presented to users, presenting text and graphic features (color, size, and type of font, etc.) in a spatial arrangement within the page in order to communicate information to users. It is a communication process. A process that understands that the receivers of this message are human beings. As we saw earlier, the initial model of the Web understands this network as a set of interconnected documents in a hypertext structure. When a request is sent to a web server, it identifies which set of data will be grouped on a given page. Direct individual access to the data is not permitted. And if instead of considering these documents as separate blocks of data, we were to think of a web that could enable individual access to all the data grouped in these pages, then in addition to the Web of Documents, we would have access to a Web of Data, where each of the nodes of the Web was no longer necessarily a document, but could be specific data or a particular resource. This would give us access to a finer layer of granularity of the Web, and different developers would be able to create applications that group this data in different ways. In the example of the bag of chips, a particular application would be able to list another set of data related to the product, according to a specific criterion deemed more useful from another perspective, for example, as food for people with hypertension. Search engines are one of the most popular applications of the Web. Google has become one of the largest companies on the planet because of the need to connect published data with potential consumers of such data, serving as an intermediary in the communication process. To provide this service, web pages are scanned and analyzed by robots so that Google can assemble a database that is able to respond as precisely as possible to search requests. Search engines have a limited understanding of what is being discussed on these web pages. Since each page contains different data, it is necessary to use algorithms to extract this data from information formatted for human beings. How do you identify all this data without a specific indication that can be understood by machines? How do you format information that might be useful so that machines will understand the meaning of information contained on a web page? How do you create new ways to distribute such data? The following sections explain the concepts of semantics and metadata that 15Semantic Web Guideline are used to achieve the idea of a Web of Data understood by both humans and machines. 2.4 Semantics In this guide, we want to shed light on the idea of adding the definition of a semantic layer to the initial model of the Web of Documents. As we saw earlier, the initial idea of the Web was to serve as a way to navigate among documents arranged in a hypertext structure. These documents are displayed to users by applications that interpret HTML language. The content of the pages is seen by the machines in a purely syntactic form. The information itself is interpreted by the people who view the pages. What are the semantics of the information displayed? What is the meaning of this information? In linguistics, semantics is the study of meaning used to understand human expression through language. We are able to understand the meaning of this sentence by understanding the meaning of each word and the relationship between these words within the sentence. We also understand punctuation marks, such as commas, periods, etc. and their function in the text. In addition, we can understand images and color-coding and a variety of coded signs in different ways. A piece of information can, for example, be displayed in large red letters to indicate the need to pay attention to that text. It all depends on various factors, including the culture of people receiving the information. Red, for example, has a different meaning in Asian cultures. Communication models are conceptual models used to explain the process of human communication (Figure 2.1). The first major communication model was designed in 1949 by Claude Shannon and Warren Weaver from Bell Laboratories. Communication is the process of transferring information from one party (transmitter) to another (recipient). Shannon and Weaver’s original model consisted of three main parts: transmitter, channel, and receiver. In a simple model, information (e.g., a message in natural language) is sent in some form (such as spoken language) from a transmitter/sender/encoder to a receiver/recipient/decoder through a channel. This concept of regular communication sees communication as a means of sending and receiving information. 16WWW AND SEMANTICS Figura 2.1 – Comunicação entre pessoas http://en.wikipedia.org/wiki/File:Communication_shannon-weaver2.svg Figures 2.2 and 2.3 illustrate how a piece of information embedded within the mental model of a person is encoded, to then be transmitted via a channel and then decoded and mapped to the mental model of another person. In this guide we are introducing semantics for machines that access information. How can a machine interpret the contents of a web page? How can information be encoded to ensure correct mapping between intended meaning and understood meaning? Codificando Decodificando 1 3 Árvore Árvore Enviando 2 Figura 2.2 – Modelo mental http://en.wikipedia.org/wiki/User:Yupi666 17Semantic Web Guideline Transmissor Canal Receptor significado significado pretendido entendido significado significado transmitido recebido envio da codificação decodificação mensagem da mensagem da mensagem Figura 2.3 – A transmissão do significado Let us take the sample of price comparison websites. As soon as online stores emerged on the Web, offering products on their pages with information that included product descriptions, images, prices, etc., the idea arose of building websites that could provide users with price comparisons of the same product offered in different online stores. Price comparison websites can be considered the first examples of the Semantic Web, but the first systems developed in these websites used specific software (scrapers) to extract structured information about the products from web pages. The information was extracted through the identification of syntactic patterns within the HTML pages. HTML is a text markup language that basically defines the structure of a text, and another language (CSS) defines text style. The browser combines the structure and style and displays the information to people. In order for a scraper to understand the meaning of a text, it is necessary to find patterns that somehow indicate a meaning. Here’s an example of a Brazilian shopping website, where a type-price pattern can be identified: a string in the form “xxx, xx” next to the characters “R.” In HTML language there is no tag that explicitly indicates that this string is a price. Human beings can easily recognize that this information is a price. A little more sophisticated example contains the following text: “Google Chromecast HDMI Streaming: R249.00 for R192.72,” next to an image. We can write a code that looks for the word “for,” next to numbers that can be identified in the type- price pattern and understand that it is the sales price of a product. A type- promotion pattern is thus defined. And so on. It is easy to note that changes in the arrangement and grouping of information may require reprogramming the scraper. Building a scraper requires extensive programming and it is a very unstable system, since reprogramming may be needed every time an online 18WWW AND SEMANTICS store changes the structure of its information. As we saw in Section 2.3 (Web of Data), the idea is to be able to identify, in an individual and machine-readable way, each piece of data grouped on web pages. For this purpose, we need to put extra information about the data into the HTML code, and this information will be consumed by machines. This information about data is called metadata. 2.5 Metadata Metadata is data about data. It provides additional information about data to help application developers and end users better understand the meaning of the published data and its content and structure. Metadata is also used to provide information on other issues related to the dataset, such as the license, the company/organization that generated the data, data quality, provenance, how to access, update frequency of the set of information, etc. The purpose of metadata is to assist in the communication process between data publishers and consumers, so that the latter can understand all the issues related to the use of such data. Metadata can be used to help with tasks, such as discovery and reuse of datasets, and can be attributed according to different granularities, ranging from a single property of a resource (a column of a table) to a complete dataset or all the datasets of a particular company/organization. A simple example involving the ordinary use of metadata is the names of the columns of a table placed in the first line of a file in CSV format. The function of this metadata is to enable a reader of the data from this CSV file to understand the meaning of each field, the data and each line. Up to the present, the Web has developed more rapidly as a means of transmitting documents to people, rather than data and information that can be processed automatically. Metadata needs to be available in readable forms for both humans and machines. It is important to provide both forms of metadata, in order to reach humans and applications. In the case of machine- readable metadata, the use of reference vocabularies should be encouraged, as a way to strengthen a common semantics. In the example of the CSV table, it is possible to see that difficulties may occur when a common reference vocabulary to describe metadata is not used. 19Semantic Web Guideline Each organization and person might use a different term for the name of the columns in a table, which can be understood within a particular company, but may have an ambiguous meaning for different people in different companies, and often within the same company. Some of the most popular reference vocabularies are presented in Section 6. For example, provenance of data could be described using PROV-O, a W3C recommendation which provides a set of classes, properties and restrictions that can be used to represent and exchange provenance information generated in different systems and in different contexts. Metadata can be of different types. These types can be classified into different taxonomies, grouped by different criteria. For example, a specific taxonomy could define metadata according to descriptive, structural and administrative characteristics. Descriptive metadata serves to identify a dataset, structural metadata is used to understand the format in which the dataset is distributed, and administrative metadata supplies information about the version and update frequency, etc. Another taxonomy might define other types of metadata with a schema based on the tasks for which the metadata is used, such as discovery and reuse of data. Metadata can be embedded in web pages, merged (within the HTML code) with the information to be displayed to users. This way, part of the HTML code is for human consumption and the other part for machine consumption. Section 4.5 introduces technologies used to embed metadata in web pages. In addition, metadata can be stored in catalogs that keep information about data published on the Web. Metadata can also be consumed through implementations that use technologies related to the Semantic Web and Linked Data presented in sections 4 and 5. One of the first ways metadata was included on a web page was through the HTML tag. This tag has two attributes that enable a name and content to be defined. One of the first uses of the meta tag was as a form of communication between web page publishers and search engine robots that scan those pages. These robots read the pages in order to generate an index that will serve as a basis for responses to search requests from users. One of the various kinds of information that the meta tag can communicate to robots is whether a page should or should not be included in search engine indexes. This allows a publisher to inform robots that it does not want to appear in search results: 20WWW AND SEMANTICS meta name="robots" content="noindex" / The meta tag was also intensively used to provide search engines with a way to index pages according to a set of keywords defined by the publisher. For example: meta name="keywords" content="guia, web semântica" / As humans who understand the English language, we can infer that there is a set of keywords associated with the page where this tag was included. However, the semantics of the meta tag do not define any specific interpretation for the attributes “name” and “content.” This information is interpreted by applications that read pages according to semantics that have been established through use. In the case of the example, a meta tag with “name =”keywords”’ is interpreted by search engine robots as indicating that the “content” field will have a list of keywords that will be associated with the page content. For such conventions, like “keywords” meaning a set of keywords, it is necessary to use reference vocabularies whose meaning is understood by the publisher, so that the meaning understood by the application that consumes the page will be the same as the intended meaning. This way of including metadata has very limited expressiveness and has been extended through the creation of standards to define metadata and by a set of reference vocabularies, which will be described in the following sections of this guide. 21Semantic Web Guideline Data Ecosystem on the Web Chapter 3 22DATA ECOSYSTEM ON THE WEB 3.1 Actors and Roles The Web of Documents is basically used by two users: publishers and consumers. The first browser created by Tim Berners-Lee not only enabled access to a document by specifying a URL, but also allowed users to edit and record information, along the lines of Wikipedia. Thus, the same person, the same actor in this ecosystem, could play two roles: data consumer and publisher. However, as a general rule, these two roles are played by different groups of people: one set of people whose job is to publish documents and another set of people interested in consuming these documents. These two roles, in turn, can be divided into more specific sets of roles. To illustrate the diversity of roles in a data publishing environment, we will use an analogy between the Web and the world of books. In the latter, there are two basic roles: writers and readers. In order for a reader to have access to a text created by a writer, the writer needs to publish the book. This gives rise to a number of new roles, all grouped under one major role, which we shall call publishers. Besides the actual writer, there are people responsible for ensuring that a text created by a person can be printed and distributed in order to reach readers. People are also needed to handle the publication infrastructure, promotion, and distribution, as well as designers to decide on the cover, type of paper, font and publishing formats, etc. Only then can the book arrive in bookstores to be sold to readers, the consumers of the books. It is easy to see that there are various actors who have various skills playing various roles throughout this process. In terms of readers or consumers, there are also two types of readers: those interested only in consuming the book’s information and those who could also be publishers. The latter would be interested in generating a new publication based on the information consumed in the book. In the world of the Web, these two large groups also exist: data publishers and consumers. As for publishers, we can list various actors with various roles related to the publication of information, often defined by rules or procedures that are beyond the scope of the functions of the actual creator or publisher of the data. This set of roles can involve various actors within a company or a government agency, where different sectors may be responsible for defining various types of information and processes, such as: defining licenses; creating rules to define the format of the URIs (a broader concept than URL); choosing data formats and platforms for information distribution; determining the required set of metadata and documents; defining strategies to ensure data continuation, preservation and archiving, etc.. 23Semantic Web Guideline In terms of data consumers, we can identify people interested in direct consumption of the data (end users) and people interested in transforming the data and adding value to it in order to publish another dataset. This second group of people comprises developers of intermediate applications between users and this new dataset. End users often manually add different datasets to achieve another desired result, in a task not performed by any specific application. The combination of data is infinite, and depending on the demand for a specific type of combination, it may be useful to develop a particular application that can automate this process and facilitate the work of end users. The next section – the life cycle of data on the Web – will address the various roles and competencies needed to execute the tasks related to data publishing. 3.2 Life cycle The data life cycle is the process of managing information, extending from the selection stage until it is archived. This process involves the participation of various professionals with specific skills related to each of the stages. As we saw in the previous section, there are various specialized roles within the group of data publishers and consumers. There are different models that seek to encompass all the stages of the life cycle and the relationships between them. Some of the stages taken from these models are shown below. • Planning: The initial stage, where publishing the data is planned, which includes selection of the data to be published, establishing the teams and bodies that will participate in the process, collection options and publication platforms. • Structuring: The stage where the structure of the data to be distributed is defined; in the case of tables, that would be which fields will be displayed and the characteristics of those fields. In the case of the Semantic Web and Linked Data, that also includes ontologies that will be used for the instances of the data (Section 5). In this stage, a new ontology will also be defined, if necessary. 24DATA ECOSYSTEM ON THE WEB • Creation and Collection: The stage of acquiring the data, which includes data to be created as well as existing data obtained from spreadsheets, databases, APIs, web services, etc. • Refinement and Enrichment (Transformation and Integration): The stage where the data is worked on to improve its quality by filtering out possible inaccuracies, adding or removing information and making any links with data from other bases. • Formatting: The stage where the data to be published is formatted according to the platform chosen for publication. • Description (Metadata, Documentation): The stage for defining, creating and collecting the metadata and documents that need to be added to the data, in order to facilitate understanding of the information. • Publication: The stage in which the data is actually posted on the Web, on the platform chosen for publication. • Consumption: The stage where data is consumed by end users or application developers. • Feedback: The stage where information related to use of the data is collected, which can come from things like data consumers or distribution platforms. • Archiving: The stage where the data is removed from the Web. 3.3 Architecture In the early stages of the Web, the basic task requested of a web server was to obtain a static page (identified in the string of the URL) that was stored in an archive and coded in HTML. As the development of applications in the Programmable Web expanded, this URL started being used to solicit the execution of other types of tasks, such as requests for information on the prices of a product in various online stores. This information is built dynamically by running the application on the web server, which can compile data on the prices of the product through the various means of collecting data listed above. In another example, the task requested could be the transfer of a sum of money from one bank account to another. In this case, the requested task 25

Advise: Why You Wasting Money in Costly SEO Tools, Use World's Best Free SEO Tool Ubersuggest.