You are here

Liyang Yu. A Developer’s Guide to the Semantic Web.

Liyang Yu
A Developer’s Guide to the Semantic Web

Heidelberg; New York : Springer, 2011. xix, 608 p.



Objectives of the Book
Intended Readers
Structure of the Book
Where to Get the Code
1. A Web of Data: Toward the Idea of the Semantic Web
    1.1 A Motivating Example: Data Integration on the Web
        1.1.1 A Smart Data Integration Agent
        1.1.2 Is Smart Data Integration Agent  Possible?
        1.1.3 The Idea of the Semantic Web
    1.2 A More General Goal: A Web Understandable to Machines
        1.2.1 How Do We Use the Web?
   Information Integration
   Web Data Mining
        1.2.2 What Stops Us from Doing More?
        1.2.3 Again, the Idea of the Semantic Web
    1.3 The Semantic Web: A First Look
        1.3.1 The Concept of the Semantic Web
        1.3.2 The Semantic Web, Linked Data, and
            the Web of Data
        1.3.3 Some Basic Things About the Semantic Web Reference
2. The Building Block for the Semantic Web: RDF
    2.1 RDF Overview
        2.1.1 RDF in Official Language
        2.1.2 RDF in Plain English
    2.2 The Abstract Model of RDF
        2.2.1 The Big Picture
        2.2.2 Statement
        2.2.3 Resource and Its URI Name
        2.2.4 Predicate and Its URI Name
        2.2.5 RDF Triples: Knowledge That Machine Can Use
        2.2.6 RDF Literals and Blank Node
   Basic Terminologies So Far
   Literal Values
   Blank Nodes
        2.2.7 A Summary So Far
    2.3 RDF Serialization: RDF/XML Syntax
        2.3.1 The Big Picture: RDF Vocabulary
        2.3.2 Basic Syntax and Examples
   rdf:RDF, rdf:Description, rdf:about, and rdf:resource
   rdf:type and Typed Nodes
   Using Resource as Property Value
   Using Un-typed Literals as Property Values, rdf:value and rdf:parseType
   Using Typed Literal Values and rdf:datatype
   rdf:nodeID and More About Anonymous Resources
   rdf:ID, xml:base, and RDF/XML Abbreviation
        2.3.3 Other RDF Capabilities and Examples
   RDF Containers: rdf:Bag, rdf:Seq, rdf:Alt, and rdf:li
   RDF Collections: rdf:first, rdf:rest, rdf:nil, and rdf:List
   RDF Reification: rdf:statement, rdf:subject, rdf:predicate, and rdf:object
    2.4 Other RDF Sterilization Formats
        2.4.1 Notation-3, Turtle, and N-Triples
        2.4.2 Turtle Language
   Basic Language Feature
   Abbreviations and Shortcuts: Namespace Prefix, Default Prefix, and @base
   Abbreviations and Shortcuts: Token a, Comma, and Semicolons
   Turtle Blank Nodes
    2.5 Fundamental Rules of RDF
        2.5.1 Information Understandable by Machine
        2.5.2 Distributed Information Aggregation
        2.5.3 A Hypothetical Real-World Example
    2.6 More About RDF
        2.6.1 Dublin Core: Example of Pre-defined RDF Vocabulary
        2.6.2 XML vs. RDF?
        2.6.3 Use an RDF Validator
    2.7 Summary
3 Other RDF-Related Technologies: Microformats, RDFa, and GRDDL
    3.1 Introduction: Why Do We Need These?
    3.2 Microformats
        3.2.1 Microformats: The Big Picture
        3.2.2 Microformats: Syntax and Examples
   From vCard to hCard Microformat
   Using hCard Microformat to Mark Up Page Content
        3.2.3 Microformats and RDF
   What Is So Good About Microformats?
   Microformats and RDF
    3.3 RDFa
        3.3.1 RDFa: The Big Picture
        3.3.2 RDFa Attributes and RDFa Elements
        3.3.3 RDFa: Rules and Examples
   RDFa Rules
   RDFa Examples
        3.3.4 RDFa and RDF
   What Is So Good About RDFa?
   RDFa and RDF
    3.4 GRDDL
        3.4.1 GRDDL: The Big Picture
        3.4.2 Using GRDDL with Microformats
        3.4.3 Using GRDDL with RDFa
    3.5 Summary
4 RDFS and Ontology
    4.1 RDFS Overview
        4.1.1 RDFS in Plain English
        4.1.2 RDFS in Official Language
    4.2 RDFS + RDF: One More Step Toward Machine Readable
        4.2.1 A Common Language to Share
        4.2.2 Machine Inferencing Based on RDFS
    4.3 RDFS Core Elements
        4.3.1 The Big Picture: RDFS Vocabulary
        4.3.2 Basic Syntax and Examples
   Defining Classes
   Defining Properties
   More About Properties
   RDFS Datatypes
   RDFS Utility Vocabulary
        4.3.3 Summary So Far
   Our Camera Vocabulary
   Where Is the Knowledge?
    4.4 The Concept of Ontology
        4.4.1 What Is Ontology?
        4.4.2 The Benefits of Ontology
    4.5 Building the Bridge to Ontology: SKOS
        4.5.1 Knowledge Organization Systems (KOS)
        4.5.2 Thesauri vs. Ontologies
        4.5.3 Filling the Gap: SKOS
   What Is SKOS?
   SKOS Core Constructs
   Interlinking Concepts by Using SKOS
    4.6 Another Look at Inferencing Based on RDF Schema
        4.6.1 RDFS Ontology-Based Reasoning: Simple, Yet Powerful
        4.6.2 Good, Better, and Best: More Is Needed
    4.7 Summary
5 OWL: Web Ontology Language
    5.1 OWL Overview
        5.1.1 OWL in Plain English
        5.1.2 OWL in Official Language: OWL 1 and OWL 2
        5.1.3 From OWL 1 to OWL 2
    5.2 OWL 1 and OWL 2: The Big Picture
        5.2.1 Basic Notions: Axiom, Entity, Expression, and IRI Names
        5.2.2 Basic Syntax Forms: Functional Style, RDF/XML Syntax, Manchester Syntax, and XML Syntax
    5.3 OWL 1 Web Ontology Language
        5.3.1 Defining Classes: The Basics
        5.3.2 Defining Classes: Localizing Global Properties
   Value Constraints: owl:allValuesFrom
   Enhanced Reasoning Power 1
   Value Constraints: owl:someValuesFrom
   Enhanced Reasoning Power
   Value Constraints: owl:hasValue
   Enhanced Reasoning Power
   Cardinality Constraints: owl:cardinality, owl:min(max)Cardinality
   Enhanced Reasoning Power
        5.3.3 Defining Classes: Using Set Operators
   Set Operators
   Enhanced Reasoning Power
        5.3.4 Defining Classes: Using Enumeration, Equivalent, and Disjoint
   Enumeration, Equivalent, and Disjoint
   Enhanced Reasoning Power
        5.3.5 Our Camera Ontology So Far
        5.3.6 Define Properties: The Basics
        5.3.7 Defining Properties: Property Characteristics
   Symmetric Properties
   Enhanced Reasoning Power
   Transitive Properties
   Enhanced Reasoning Power
   Functional Properties
   Enhanced Reasoning Power
   Inverse Property
   Enhanced Reasoning Power
   Inverse Functional Property
   Enhanced Reasoning Power
        5.3.8 Camera Ontology Written Using OWL 1
    5.4 OWL 2 Web Ontology Language
        5.4.1 What Is New in OWL 2?
        5.4.2 New Constructs for Common Patterns
   Common Pattern: Disjointness
   Common Pattern: Negative Assertions
        5.4.3 Improved Expressiveness for Properties
   Property Self-Restriction
   Property Self-Restriction: Enhanced Reasoning Power
   Property Cardinality Restrictions
   Property Cardinality Restrictions: Enhanced Reasoning Power
   More About Property Characteristics: Reflexive, Irreflexive, and Asymmetric Properties
   More About Property Characteristics: Enhanced Reasoning Power
   Disjoint Properties
   Disjoint Properties: Enhanced Reasoning Power
   Property Chains
   Property Chains: Enhanced Reasoning Power
   Keys: Enhanced Reasoning Power
        5.4.4 Extended Support for Datatypes
   Wider Range of Supported Datatypes and Extra Built-In Datatypes
   Restrictions on Datatypes and User-Defined Datatypes
   Data Range Combinations
        5.4.5 Punning and Annotations
   Understanding Punning
   OWL Annotations, Axioms About Annotation Properties
        5.4.6 Other OWL 2 Features
   Entity Declarations
   Top and Bottom Properties
   Imports and Versioning
        5.4.7 OWL Constructs in Instance Documents
        5.4.8 OWL 2 Profiles
   Why We Need All These?
   Assigning Semantics to OWL Ontology: Description Logic vs. RDF-Based Semantics
   Three Faces of OWL 1
   Understanding OWL 2 Profiles
   OWL 2 EL, QL, and RL
        5.4.9 Our Camera Ontology in OWL 2
    5.5 Summary
6 SPARQL: Querying the Semantic Web
    6.1 SPARQL Overview
        6.1.1 SPARQL in Official Language
        6.1.2 SPARQL in Plain English
        6.1.3 Other Related Concepts: RDF Data Store, RDF Database, and Triple Store
    6.2 Set up Joseki SPARQL Endpoint
    6.3 SPARQL Query Language
        6.3.1 The Big Picture
   Triple Pattern
   Graph Pattern
        6.3.2 SELECT Query
   Structure of a SELECT Query
   Writing Basic SELECT Query
   Using OPTIONAL Keyword for Matches
   Using Solution Modifier
   Using FILTER Keyword to Add Value Constraints
   Using Union Keyword for Alternative Match
   Working with Multiple Graphs
        6.3.3 CONSTRUCT Query
        6.3.4 DESCRIBE Query
        6.3.5 ASK Query
    6.4 What Is Missing from SPARQL?
    6.5 SPARQL 1.1
        6.5.1 Introduction: What Is New?
        6.5.2 SPARQL 1.1 Query
   Aggregate Functions
   Expressions with SELECT
   Property Paths
        6.5.3 SPARQL 1.1 Update
   Graph Update: Adding RDF Statements
   Graph Update: Deleting RDF Statements
   Graph Update: LOAD and CLEAR
   Graph Management: Graph Creation
   Graph Management: Graph Removal
6.6 Summary
7 FOAF: Friend of a Friend
    7.1 What Is FOAF and What It Does
        7.1.1 FOAF in Plain English
        7.1.2 FOAF in Official Language
    7.2 Core FOAF Vocabulary and Examples
        7.2.1 The Big Picture: FOAF Vocabulary
        7.2.2 Core Terms and Examples
    7.3 Create Your FOAF Document and Get into the Friend Circle
        7.3.1 How Does the Circle Work?
        7.3.2 Create Your FOAF Document
        7.3.3 Get into the Circle: Publish Your FOAF Document
        7.3.4 From Web Pages for Human Eyes to Web Pages for Machines
    7.4 Semantic Markup: a Connection Between the Two Worlds
        7.4.1 What Is Semantic Markup
        7.4.2 Semantic Markup: Procedure and Example
        7.4.3 Semantic Markup: Feasibility and Different Approaches
    7.5 Summary
8 Semantic Markup at Work: Rich Snippets and SearchMonkey
    8.1 Introduction
        8.1.1 Prerequisite: How Does a Search Engine Work?
   Basic Search Engine Tasks
   Basic Search Engine Workflow
        8.1.2 Rich Snippets and SearchMonkey
    8.2 Rich Snippets by Google
        8.2.1 What Is Rich Snippets: An Example
        8.2.2 How Does It Work: Semantic Markup Using Microformats/RDFa
   Rich Snippets Powered by Semantic Markup
   Microformats Supported by Rich Snippets
   Ontologies Supported by Rich Snippets
        8.2.3 Test It Out Yourself
    8.3 SearchMonkey from Yahoo
        8.3.1 What Is SearchMonkey: An Example
        8.3.2 How Does It Work: Semantic Markup Using Microformats/RDFa
   SearchMonkey Architecture
   Microformats Supported by SearchMonkey
   Ontologies Supported by SearchMonkey
        8.3.3 Test It Out Yourself
    8.4 Summary
9 Semantic Wiki
    9.1 Introduction: From Wiki to Semantic Wiki
        9.1.1 What Is a Wiki?
        9.1.2 From Wiki to Semantic Wiki
    9.2 Adding Semantics to Wiki Site
        9.2.1 Namespace and Category System
        9.2.2 Semantic Annotation in Semantic MediaWiki
   Semantic Annotation: Links
   Semantic Annotation: Text
    9.3 Using the Added Semantics
        9.3.1 Browsing
   Semantic Browsing Interface
        9.3.2 Wiki Site Semantic Search
   Direct Wiki Query: Basics
   Direct Wiki Query: Advanced Search
   Displaying Information
        9.3.3 Inferencing
    9.4 Where Is the Semantics?
        9.4.1 SWiVT: an Upper Ontology for Semantic Wiki
        9.4.2 Understanding OWL/RDF Exports
        9.4.3 Importing Ontology: a Bridge to Outside World
    9.5 The Power of the Semantic Web
    9.6 Use Semantic MediaWiki to Build Your Own Semantic Wiki
    9.7 Summary
10 DBpedia
    10.1 Introduction to DBpedia
        10.1.1 From Manual Markup to Automatic Generation of Annotation
        10.1.2 From Wikipedia to DBpedia
        10.1.3 The Look and Feel of DBpedia: Page Redirect
    10.2 Semantics in DBpedia DBpedia look and feel
        10.2.1 Infobox Template
        10.2.2 Creating DBpedia Ontology
   The Need for Ontology
   Mapping Infobox Templates to Classes
   Mapping Infobox Template Attributes to Properties
        10.2.3 Infobox Extraction Methods
   Generic Infobox Extraction Method
   Mapping-Based Infobox Extraction Method
    10.3 Accessing DBpedia Dataset
        10.3.1 Using SPARQL to Query DBpedia
   SPARQL Endpoints for DBpedia
   Examples of Using SPARQL to Access DBpedia
        10.3.2 Direct Download of DBpedia Datasets
   The Wikipedia Datasets
   DBpedia Core Datasets
   Extended Datasets
        10.3.3 Access DBpedia as Linked Data
    10.4 Summary
11 Linked Open Data
    11.1 The Concept of Linked Data and Its Basic Rules
        11.1.1 The Concept of Linked Data
        11.1.2 How Big Is the Web of Linked Data and the LOD   Project
        11.1.3 The Basic Rules of Linked Data
    11.2 Publishing RDF Data on the Web
        11.2.1 Identifying Things with URIs
   Web Document, Information Resource, and URI
   Non-information Resources and Their URIs
   URIs for Non-information Resources: URIs and Content Negotiation
   URIs for Non-information Resources: Hash URIs
   URIs for Non-information Resources: URIs vs. Hash URIs
   URI Aliases
        11.2.2 Choosing Vocabularies for RDF Data
        11.2.3 Creating Links to Other RDF Data
   Basic Language Constructs to Create Links
   Creating Links Manually
   Creating Links Automatically
        11.2.4 Serving Information as Linked Data
   Minimum Requirements for Being Linked Open Data
   Example: Publishing Linked Data on the Web
   Make Sure You Have Done It Right
    11.3 The Consumption of Linked Data
        11.3.1 Discover Specific Target on the Linked Data Web
   Semantic Web Search Engine for Human Eyes
   Semantic Web Search Engine for Applications
        11.3.2 Accessing the Web of Linked Data
   Using a Linked Data Browser
   Using SPARQL Endpoints
   Accessing the Linked Data Web Programmatically
    11.4 Linked Data Application
        11.4.1 Linked Data Application Example: Revyu
   Revyu: An Overview
   Revyu: Why It Is Different
        11.4.2 Web 2.0 Mashups vs. Linked Data Mashups
    11.5 Summary
12 Building the Foundation for Development on the Semantic Web
    12.1 Development Tools for the Semantic Web
        12.1.1 Frameworks for the Semantic Web Applications
   What Is a Framework and Why We Need It?
        12.1.2 Reasoners for the Semantic Web Applications
   What Is a Reasoner and Why We Need It?
        12.1.3 Ontology Engineering Environments
   What Is an Ontology Engineering Environment and Why We Need It?
   TopBraid Composer
        12.1.4 Other Tools: Search Engines for the Semantic Web
        12.1.5 Where to Find More?
    12.2 Semantic Web Application Development Methodology
        12.2.1 From Domain Models to Ontology-Driven Architecture
   Domain Models and MVC Architecture
   The Uniqueness of Semantic Web Application Development
   Ontology-Driven Software Development
   Further Discussions
        12.2.2 An Ontology Development Methodology Proposed by Noy and McGuinness
   Basic Tasks and Fundamental Rules
   Basic Steps of Ontology Development
   Other Considerations
    12.3 Summary
13 Jena: A Framework for Development on the Semantic Web
    13.1 Jena: A Semantic Web Framework for Java
        13.1.1 What Is Jena and What It Can Do for Us?
        13.1.2 Getting Jena Package
        13.1.3 Using Jena in Your Projects
   Using Jena in Eclipse
   Hello World! from Semantic Web Application
    13.2 Basic RDF Model Operations
        13.2.1 Creating an RDF Model
        13.2.2 Reading an RDF Model
        13.2.3 Understanding an RDF Model
    13.3 Handling Persistent RDF Models
        13.3.1 From In-memory Model to Persistent Model
        13.3.2 Setting Up MySQL
        13.3.3 Database-Backed RDF Models
   Single Persistent RDF Model
   Multiple Persistent RDF Models
    13.4 Inferencing Using Jena
        13.4.1 Jena Inferencing Model
        13.4.2 Jena Inferencing Examples
    13.5 Summary
14 Follow Your Nose: A Basic Semantic Web Agent
    14.1 The Principle of Follow-Your-Nose Method
        14.1.1 What Is Follow-Your-Nose Method?
        14.1.2 URI Declarations, Open Linked Data, and Follow-Your-Nose Method
    14.2 A Follow-Your-Nose Agent in Java
        14.2.1 Building the Agent
        14.2.2 Running the Agent
        14.2.3 More Clues for Follow Your Nose
        14.2.4 Can You Follow Your Nose on Traditional Web?
    14.3 A Better Implementation of Follow-Your-Nose Agent: Using SPARQL Queries
        14.3.1 In-memory SPARQL Operation
        14.3.2 Using SPARQL Endpoints Remotely
    14.4 Summary
15 More Application Examples on the Semantic Web
    15.1 Building Your Circle of Trust: A FOAF Agent You Can Use
        15.1.1 Who Is on Your E-mail List?
        15.1.2 The Basic Idea
        15.1.3 Building the Email Address Collector Agent
   Email Address Collector
   Running the Email Address Collector Agent
        15.1.4 Can You Do the Same for Traditional Web?
    15.2 A ShopBot on the Semantic Web
        15.2.1 A ShopBot We Can Have
        15.2.2 A ShopBot We Really Want
   How Does It Understand Our Needs?
   How Does It Find the Next Candidate?
   How Does It Decide Whether There Is a Match or Not?
        15.2.3 Building Our ShopBot
   Utility Methods and Class
   Processing the Catalog Document
   The Main Work Flow
   Running Our ShopBot
        15.2.4 Discussion: From Prototype to Reality
    15.3 Summary