Semantic Web Programming
eBook - ePub

Semantic Web Programming

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

About this book

The next major advance in the Web-Web 3.0-will be built on semantic Web technologies, which will allow data to be shared and reused across application, enterprise, and community boundaries. Written by a team of highly experienced Web developers, this book explains examines how this powerful new technology can unify and fully leverage the ever-growing data, information, and services that are available on the Internet. Helpful examples demonstrate how to use the semantic Web to solve practical, real-world problems while you take a look at the set of design principles, collaborative working groups, and technologies that form the semantic Web. The companion Web site features full code, as well as a reference section, a FAQ section, a discussion forum, and a semantic blog.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Semantic Web Programming by John Hebeler,Matthew Fisher,Ryan Blace,Andrew Perez-Lopez in PDF and/or ePUB format, as well as other popular books in Computer Science & Software Development. We have over one million books available in our catalogue for you to explore.

Information

Part I
Introducing Semantic Web Programming
The goal of this section is to quickly introduce you to Semantic Web programming. This section establishes a launchpad from which you can begin your exploration.
Chapter 1 defines the Semantic Web and the components and concepts critical to programming with it. It identifies, from the programmer's perspective, the characteristics and advantages of the Semantic Web that can be leveraged to provide innovative solutions to common problems. The chapter discusses the many roadblocks, myths, and hype that emerge with any new area of technology like the Semantic Web.
This leads to a brief history of the Semantic Web, which provides a useful perspective on its solid foundations. The Semantic Web is not a flash in the pan but rather an evolutionary step in our ability to share and use information. Finally, the chapter ends by presenting a series of example Semantic Web applications. These examples introduce some of the terms, structures, and programming considerations that you will see throughout the rest of the book. After Chapter 1, you will be ready to jump right into Semantic Web programming.
Chapter 2 is your opportunity to say a solid ā€œHelloā€ to the Semantic Web. The chapter presents a tour of the canonical ā€œHello Worldā€ example application from the perspective of the Semantic Web. It demonstrates how a Semantic Web knowledge model can integrate with an application and be used to separate domain-specific business logic from the program itself. The tour extends a common example-saying hello to your friends. These ā€œHellosā€ build through code examples that touch on the main topics of the book. After quickly establishing your development environment, the tour takes you through setting up an ontology, adding data from multiple sources, aligning different data sources, reasoning, rules, querying, and finally outputting results in various formats. It's a whirlwind tour that gives you a taste of what is to come.
Together, the two chapters in this section provide a quick taste of the book and prepare you to move into the depth of the chapters ahead.
Chapter 1
Preparing to Program a Semantic Web of Data
ā€œThe Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation.ā€
—Tim Berners-Lee
Welcome to Semantic Web programming—a powerful way to access, use, and share information. Our approach gets you programming quickly through hands-on, practical examples. We maintain a programmer's perspective, not a philosopher's perspective, throughout the book. We focus on applying the Semantic Web to real-world solutions rather than long justifications and explanations.
First, we need to establish a Semantic Web programming foundation. This foundation orients you to this new technology with its jargon and its attitude. The foundation also provides a justification for your learning investment, an investment we do not take lightly.
Our approach and examples come from years of building Semantic Web applications. Our applications employ the Semantic Web to make useable sense out of large, distributed information found throughout the World Wide Web.
The objectives of this chapter are to:
  • Form a useful, pragmatic definition of the Semantic Web
  • Identify the major components of a Semantic Web application and describe how they relate to one another
  • Outline how the Semantic Web impacts programming applications
  • Detail the roadblocks, myths, and hype regarding the often misunderstood and misused term Semantic Web
  • Understand the origin and foundation of the Semantic Web
  • Gain exposure to different, real-world solutions that employ the Semantic Web
Semantic Web programming introduces many new terms and approaches that are used throughout the book. This chapter offers a preliminary definition, one on which each chapter expands.
The concept map in Figure 1.1 outlines the chapter. Two main legs establish the key areas: the Semantic Web and Programming in the Semantic Web.
Figure 1.1 Semantic Web concept map
1.1
We start with the definition leading to the Semantic Web's components, features, and origins. Then we examine its programming implications.
Defining the Semantic Web
A definition for the Semantic Web begins with defining semantic. Semantic simply means meaning. Meaning enables a more effective use of the underlying data. Meaning is often absent from most information sources, requiring users or complex programming instructions to supply it. For example, web pages are filled with information and associated tags. Most of the tags represent formatting instructions, such as <H1> to indicate a major heading. Semantically, we know that words surrounded by <H1> tags are more important to the reader than other text because of the meaning of H1. Some web pages add basic semantics for search engines using the <META> tag; however, they are merely isolated keywords and lack linkages to provide a more meaningful context. These semantics are weak and limit searches to exact matches. Similarly, databases contain data and limited semantic hints, if well-named tables and columns surround the data.
Semantics give a keyword symbol useful meaning through the establishment of relationships. For example, a standalone keyword such as building exists on a web page devoted to ontologies. The <META> tag surrounds the building keyword to indicate its importance. However, does building mean constructing an ontology or ontologies that focus on constructing buildings? The awkwardness of the previous sentence points out the difficulty in simply expressing semantics in English. Semantics are left for the human reader to interpret. However, if the keyword relates to other keywords in defined relationships, a web of data or context forms that reveals semantics. So building relates to various other keywords such as architect, building plans, construction site, and so on—the relationships expose semantics. If a formal standard captures the arrangement of terms, the terms adhere to specified grammar rules. It is even better if the terms themselves form an adopted standard or language. The two standards together, grammar and language, help incorporate meaning, or semantics. As this contextual web of grammar rules and language terms expands through relationships, the semantics are further enriched.
The Semantic Web is simply a web of data described and linked in ways to establish context or semantics that adhere to defined grammar and language constructs.
Programmatically, your application can add semantics through programming instructions; however, there is no formal standard for such programmed semantics. In addition, aggregation, sharing, and validation are usually difficult or not possible. The semantics are lost in a maze of if/else programming statements, database lookups, and many other programming techniques. This makes it difficult to take advantage of this rich information or even to recognize it all. The nonstandard, dispersed way of programmatic semantic capture places restrictions on it and makes it unnecessarily complex, essentially obfuscated. Standing alone, the meaning of various terms such as building is simply lost.
The Semantic Web addresses semantics through standardized connections to related information. This includes labeling data unique and addressable. Thus, your program can easily tell if this building is the same as another building reference. Each unique data element then connects to a larger context, or web. The web offers potential pathways to its definition, relationships to a conceptual hierarchy, relationships to associated information, and relationships to specific instances of building. The flexibility of a web form enables connections to all the necessary information, including logic rules. The pathways and terms form a domain vocabulary or ontology. Semantic Web applications typically use many ontologies, each chosen for a required information area. The applications can choose to standardize on specific ontologies and translate to ones employed by other applications. Advanced Semantic Web applications could automatically align vocabularies using advanced information techniques that logically employ the many paths within the Semantic Web. Thus, the rich relationships and the many relationship types each contribute to establish semantics—the Semantic Web.
Figure 1.2 illustrates the difference between a stranded keyword, plane, and a Semantic Web of data related to the keyword, plane. The figure uses a graph perspective for easier visualization of the relationships.
Figure 1.2 Isolation versus the Semantic Web
1.2
Shortly we will outline all the major components of the Semantic Web. For now, the fundamental building block of the Semantic Web is a statement. This might sound too generic and basic, but this simplicity creates many possibilities. Throughout the book, we explore all types of statements contained in the Semantic Web, statements that describe concepts, logic, restrictions, and individuals. The statements share the same standards to enable sharing and integration, which take advantage of the semantics.
The Sem...

Table of contents

  1. Cover
  2. Title Page
  3. Copyright
  4. Dedication
  5. About the Authors
  6. About The Technical Editors
  7. Credits
  8. Acknowledgments
  9. Foreword
  10. Introduction
  11. Part I: Introducing Semantic Web Programming
  12. Part II: Foundations of Semantic Web Programming
  13. Part III: Building Semantic Web Applications
  14. Part IV: Expanding Semantic Web Programming
  15. Appendix A: RDF
  16. Appendix B: The OWL Web Ontology Language
  17. Appendix C: SWRL
  18. Appendix D: SPARQL
  19. Appendix E: Jena Reference Guide
  20. Appendix F: Installation Reference Guide
  21. Index
  22. Advertisement