Semantic Web Programming


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...

See more details below
Other sellers (Paperback)
  • All (21) from $6.80   
  • New (12) from $16.24   
  • Used (9) from $6.80   


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.

Read More Show Less

Product Details

  • ISBN-13: 9780470418017
  • Publisher: Wiley
  • Publication date: 4/13/2009
  • Edition number: 1
  • Pages: 652
  • Product dimensions: 7.40 (w) x 9.20 (h) x 1.50 (d)

Meet the Author

John Hebeler has more than two decades of large-scale software development experience. Matt Fisher has more than fifteen years in software and systems development. Ryan Blace is a Semantic Web developer and has worked on multiple large-scale Semantic Web-based knowledge management systems. Andrew Perez-Lopez is a software developer with several years of experience with Semantic Web information systems.

Read More Show Less

Table of Contents



Part One Introducing Semantic Web Programming.

Chapter 1 Preparing to Program a Semantic Web ofData.

Defining the Semantic Web.

Identifying the Major Programming Components.

Determining Impacts on Programming.

Establishing aWeb Data–Centric Perspective.

Expressing Semantic Data.

Sharing Data.

Making Data Dynamic and Flexible.

Avoiding the Roadblocks, Myths, and Hype.

Semantic Web Roadblocks.

Semantic Web Myths.

Semantic Web Hype.

Understanding SemanticWeb Origins.

Exploring SemanticWeb Examples.

Semantic Wikis (

Twine (

The FOAF Project (

RDFa and Microformats.

Semantic Query Endpoint (

Semantic Search (

Summary and Onward.


Chapter 2 Hello Semantic Web World.

Setting Up Your Semantic Web Development Environment.

Programming the Hello Semantic WebWorld Application.


Part Two Foundations of Semantic Web Programming.

Chapter 3 Modeling Information.

Modeling Information in Software.

Sharing Information: Syntax and Semantics.

Serialized Objects.

Relational Databases.

Extensible Markup Language (XML).

Metadata and Data in Information Sharing.

The SemanticWeb Information Model: The Resource DescriptionFramework (RDF).

Nodes: Resources and Literals.

Edges: Predicates.

Exchanging Information with RDF.

Statements as Points.

RDF Serializations.


Terse RDF Triple Language (Turtle).


Quick Hack.

More RDF.

Blank Nodes.


RDF Organizational Constructs.


Chapter 4 Incorporating Semantics.

Semantics on the Web.

Motivating Factors.

Understanding the World WideWeb.

Knowledge Domain Integration.

Expressing Semantics in RDF.

Vocabularies, Taxonomies, and Ontologies.

A Vocabulary Language for RDF.

An Ontology Language for the Web.

Introduction to Ontologies.

Distributed Knowledge.

Open World Assumption.

No Unique Names Assumption.

Overview of Ontology Elements.

Ontology Header.

Classes and Individuals.



Data types.

Elements of an Ontology.

OWL 2 Typing.

Ontology Header.


Basic Classification.

Classes and Individuals.

Instance versus Subclass.

Defining and Using Properties.

Property Domain and Range.

Describing Properties.

Top and Bottom Properties.

Inverse Properties.

Disjoint Properties.

Property Chains.

Symmetric, Reflexive, and Transitive Properties.

Functional and Inverse Functional Properties.



Data type Restrictions.

Defining Datatypes in Terms of Other Datatypes.

Negative Property Assertions.

Property Restrictions.

Value Restrictions.

Cardinality Restrictions.

Qualified Cardinality Restrictions.

Advanced Class Description.

Enumerating Class Membership.

Set Operators.

Disjoint Classes.

Equivalence in OWL.

Equivalence among Individuals.

Equivalence among Classes and Properties.


Chapter 5 Modeling Knowledge in the Real World.

Exploring the Components of the SemanticWeb.

Semantic Web Frameworks.

Storing and Retrieving RDF.

RDF Store Implementations.

Retrieving Information in a Knowledgebase.

Realizing the Semantics of OWL.

Understanding Forward Chaining Inference.

Understanding Backward Chaining Inference.

Choosing the Right Inference Method.

Common Frameworks and Components.

RDF Store Implementations.

Retrieval Components.

Reasoning Engines.

Knowledgebase Performance.

Exploring the Profiles of OWL.

OWL Full and OWL DL.

The Profiles of OWL.




Demonstrating OWL Inference.

The Ontology.

The Example Application.

The Results.

Performing No Inference.

Performing RDFS Inference.

Performing OWL Inference.

Working with Ontologies.

Decoupling the Knowledge Model from the Application.

Sharing across Domain and Application Boundaries.

What Is a Foundational Ontology?

Common Foundational Ontologies.


Cyc and OpenCyc.



Dublin Core Metadata Initiative.


GeoRSS and OWL-Time.

Finding Ontologies to Reuse or Extend.

Choosing the Right Foundational Ontologies.


Chapter 6 Discovering Information.

Navigating the SemanticWeb.

Searching the Semantic Web.

Querying the Semantic Web.

Quickstart with SPARQL.

Four Foundational Query Forms.

SELECT Essentials.

RDF Datasets, FROM and FROM NAMED.

Query Modifiers.




Data Streaming with OFFSET and LIMIT.

Flexible Querying with FILTER and OPTIONAL.




CONSTRUCT Essentials.

DESCRIBE Essentials.

ASK Essentials.

SPARQL Entailment.

Unsupported Functionality.

Data Modification.




Chapter 7 Adding Rules.

What Are Rules?

Reasons for Rules.

No Support for Property Composition.

Use of Built-ins.

Ontological Mediation.

Limiting Assumptions.

Rule Languages.

SWRL Essentials.

The Abstract Syntax.

The XML Concrete Syntax.













The RDF Concrete Syntax.



DL-Safe Rules.

Ontological Mediation.

Mapping Friends without Upsetting Any of Them.

The Power of Rules.

Jena Rules.

Rule Interchange Format.

Delving into the Details.

The Future of RIF.


Part Three Building Semantic Web Applications.

Chapter 8 Applying a Programming Framework.

Framing the Semantic Web.

The Jena SemanticWeb Framework.

Defining Jena Programming Concepts.

Programming with Jena.

Establishing the Jena Development Environment.

Establishing the Knowledgebase: Setting Up the Model.

Populating the Model with Semantic Web Data.

Combining SemanticWeb Data.

Interrogating Semantic Web Data.

Reasoning across Semantic Web Data.

Exporting SemanticWeb Data.

Deallocating Semantic Web Data Resources.

Managing Semantic Web Data.

Getting Information Regarding Your Semantic Web Data.

Generating Events Based on SemanticWeb Data.

Dealing with Concurrency and Your Semantic Web Data.

Customizing the Jena Framework.

Serializing SemanticWeb Data.

Common App Overview: FriendTracker.


Chapter 9 Combining Information.

Combining Information.

Representing Information.

Translating between Representations.

Addressing the Challenges of Translation.

Maintaining Fidelity.

Tracking Provenance Information.

Reversing the Process.

Handling Varying Data.

Managing Data Volume.

Introducing the FriendTracker Data Sources.

Facebook XML Web Service.

Jabber Java Client. XML Web Service.

WordPress Relational Database.

Exposing XML-Based Web Services as RDF.

Introducing the XML Feed.

Exposing XML Using XSL Transformations.

Traversing XML Documents with XPath.

Applying XSLT to a Simple Example.

Processing XML and XSLT Programmatically.

Applying XSLT to the Facebook Data Source.

Weighing the Benefits and the Costs of XSLT.

Exposing XML Using XML Bindings and Velocity.

Generating Java Bindings for XML Data.

Unmarshalling XML Data into Java.

Introducing the Velocity Template Engine.

Generating RDF with Velocity.

Weighing the Benefits and the Costs.

Exposing Relational Databases as RDF.

Exposing a WordPress Blog Using D2RQ.

Creating D2RQ Mappings for theWordPress Database.

Wrapping the D2RQ Instance in a Jena Model.

Querying the D2RQ Exposed WordPress Database.

Weighing the Benefits and the Costs of D2RQ.

Exposing Other Sources of Data.

Exposing Jabber with a Custom Streaming RDF Writer.

Exposing Java Objects Using Reflection.

Applying the RDF Generator to the XML Feed.

Applying the RDF Generator to the XML Feed.


Chapter 10 Aligning Information.

Data Source, Domain, and Application Ontologies.

Aligning Ontologies.

Ontology Constructs.

Translation via Rules.

Explicit Translation.

Ad Hoc Approaches to Translation.


Aligning Ontologies with OWL and SWRL.

Aligning Ontologies with XSLT.

Aligning Ontologies with Code.

Aligning Simple Ontologies with RDFS.

Record Linkage.


Chapter 11 Sharing Information.




Supported Attributes.











Blank Nodes.

Language Support.

Tools and Frameworks.

RDF Transformational Tools.

SPARQL Endpoints.

Joseki Installation and Operation.


Installation and Operation.

Example Query.

FriendTracker in RDFa.


Part Four Expanding Semantic Web Programming.

Chapter 12 Developing and Using Semantic Services.





Error Handling.



Implementing Semantic Services.

Semantic Markup forWeb Services.




Web Service Modeling Ontology.

Semantic Annotations for WSDL.

SAWSDL Example.



Chapter 13 Managing Space and Time.

Space and Time in Software.

Spatial Information.

Temporal Information.

Representing Spatiotemporal Data on the SemanticWeb.

Spatial and Temporal Software with Jena.

Working with Spatial Data.

Example: Spatial Queries.

Framing the Problem.

Approach and Rationale.


Example: Transaction Time–Bounded Queries.

Framing the Problem.

Approach and Rationale.




Chapter 14 Semantic Web Patterns and Best Practices.

Aggregating Disparate Data Sources.

Exposing Data Sources as RDF.

Bringing Data into the Domain Knowledge Model.

Storing Information in the Knowledgebase.

Initiating the Flow of Data.

Annotating Unstructured Data.

Annotation Management.

Ontology Management.

Unstructured Data Sources and the Client Application.

Coordinating Semantic Services.

Applying SemanticWeb Best Practices.

Creating URIs.

Making URIs Unique.

Making URIs Consistent.

Making URIs Resolvable.

Specifying Units of Measurement.

Unit-Specific Properties and Datatypes.

Statement Reification.

Value Containers.

Representing N-ary Relationships.

Managing Bad Data.


Chapter 15 Moving Forward.

Advancing Ontologies.

Ontology Repositories and Registries.

Linked Data.


Ontology Metrics.

Advancing Integration.

Semantic Pipes.

Distributed Queries.


Advancing Reasoning.

Rule Interchange Format (RIF).

Probabilistic Reasoning.

Trust: Proof Markup Language.

LarKC: The Large Knowledge Collider.

Advancing Visualization.


Appendix A RDF.

Appendix B The OWL Web Ontology Language.

Appendix C SWRL.

Appendix D SPARQL.

Appendix E Jena Reference Guide.

Appendix F Installation Reference Guide.


Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)