A Developer's Guide to the Semantic Web

A Developer's Guide to the Semantic Web

von: Liyang Yu

Springer-Verlag, 2011

ISBN: 9783642159701

Sprache: Englisch

608 Seiten, Download: 8926 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

A Developer's Guide to the Semantic Web



  Preface 5  
     Objectives of the Book 5  
     Intended Readers 6  
     Structure of the Book 6  
     Where to Get the Code 9  
     Acknowledgment 9  
  Contents 11  
  1 A Web of Data: Toward the Idea of the Semantic Web 18  
     1.1 A Motivating Example: Data Integration on the Web 18  
        1.1.1 A Smart Data Integration Agent 19  
        1.1.2 Is Smart Data Integration Agent Possible? 24  
        1.1.3 The Idea of the Semantic Web 26  
     1.2 A More General Goal: A Web Understandable to Machines 26  
        1.2.1 How Do We Use the Web? 26  
           1.2.1.1 Searching 27  
           1.2.1.2 Information Integration 27  
           1.2.1.3 Web Data Mining 28  
        1.2.2 What Stops Us from Doing More? 29  
        1.2.3 Again, the Idea of the Semantic Web 31  
     1.3 The Semantic Web: A First Look 31  
        1.3.1 The Concept of the Semantic Web 31  
        1.3.2 The Semantic Web, Linked Data, and the Web of Data 32  
        1.3.3 Some Basic Things About the Semantic Web 34  
     Reference 35  
  2 The Building Block for the Semantic Web: RDF 36  
     2.1 RDF Overview 36  
        2.1.1 RDF in Official Language 36  
        2.1.2 RDF in Plain English 38  
     2.2 The Abstract Model of RDF 42  
        2.2.1 The Big Picture 42  
        2.2.2 Statement 42  
        2.2.3 Resource and Its URI Name 44  
        2.2.4 Predicate and Its URI Name 48  
        2.2.5 RDF Triples: Knowledge That Machine Can Use 50  
        2.2.6 RDF Literals and Blank Node 52  
           2.2.6.1 Basic Terminologies So Far 52  
           2.2.6.2 Literal Values 54  
           2.2.6.3 Blank Nodes 55  
        2.2.7 A Summary So Far 58  
     2.3 RDF Serialization: RDF/XML Syntax 59  
        2.3.1 The Big Picture: RDF Vocabulary 59  
        2.3.2 Basic Syntax and Examples 60  
           2.3.2.1 rdf:RDF, rdf:Description, rdf:about, and rdf:resource 60  
           2.3.2.2 rdf:type and Typed Nodes 62  
           2.3.2.3 Using Resource as Property Value 64  
           2.3.2.4 Using Un-typed Literals as Property Values, rdf:value and rdf:parseType 66  
           2.3.2.5 Using Typed Literal Values and rdf:datatype 69  
           2.3.2.6 rdf:nodeID and More About Anonymous Resources 72  
           2.3.2.7 rdf:ID, xml:base, and RDF/XML Abbreviation 73  
        2.3.3 Other RDF Capabilities and Examples 76  
           2.3.3.1 RDF Containers: rdf:Bag, rdf:Seq, rdf:Alt, and rdf:li 76  
           2.3.3.2 RDF Collections: rdf:first, rdf:rest, rdf:nil, and rdf:List 78  
           2.3.3.3 RDF Reification: rdf:statement, rdf:subject, rdf:predicate, and rdf:object 80  
     2.4 Other RDF Sterilization Formats 82  
        2.4.1 Notation-3, Turtle, and N-Triples 82  
        2.4.2 Turtle Language 83  
           2.4.2.1 Basic Language Feature 83  
           2.4.2.2 Abbreviations and Shortcuts: Namespace Prefix, Default Prefix, and @base 84  
           2.4.2.3 Abbreviations and Shortcuts: Token a, Comma, and Semicolons 86  
           2.4.2.4 Turtle Blank Nodes 88  
     2.5 Fundamental Rules of RDF 89  
        2.5.1 Information Understandable by Machine 90  
        2.5.2 Distributed Information Aggregation 92  
        2.5.3 A Hypothetical Real-World Example 93  
     2.6 More About RDF 96  
        2.6.1 Dublin Core: Example of Pre-defined RDF Vocabulary 96  
        2.6.2 XML vs. RDF? 98  
        2.6.3 Use an RDF Validator 101  
     2.7 Summary 102  
  3 Other RDF-Related Technologies: Microformats, RDFa, and GRDDL 104  
     3.1 Introduction: Why Do We Need These? 104  
     3.2 Microformats 105  
        3.2.1 Microformats: The Big Picture 105  
        3.2.2 Microformats: Syntax and Examples 106  
           3.2.2.1 From vCard to hCard Microformat 106  
           3.2.2.2 Using hCard Microformat to Mark Up Page Content 108  
        3.2.3 Microformats and RDF 111  
           3.2.3.1 What Is So Good About Microformats? 111  
           3.2.3.2 Microformats and RDF 112  
     3.3 RDFa 112  
        3.3.1 RDFa: The Big Picture 112  
        3.3.2 RDFa Attributes and RDFa Elements 113  
        3.3.3 RDFa: Rules and Examples 114  
           3.3.3.1 RDFa Rules 114  
           3.3.3.2 RDFa Examples 116  
        3.3.4 RDFa and RDF 121  
           3.3.4.1 What Is So Good About RDFa? 121  
           3.3.4.2 RDFa and RDF 121  
     3.4 GRDDL 122  
        3.4.1 GRDDL: The Big Picture 122  
        3.4.2 Using GRDDL with Microformats 122  
        3.4.3 Using GRDDL with RDFa 124  
     3.5 Summary 124  
  4 RDFS and Ontology 125  
     4.1 RDFS Overview 125  
        4.1.1 RDFS in Plain English 125  
        4.1.2 RDFS in Official Language 126  
     4.2 RDFS + RDF: One More Step Toward Machine Readable 127  
        4.2.1 A Common Language to Share 127  
        4.2.2 Machine Inferencing Based on RDFS 129  
     4.3 RDFS Core Elements 130  
        4.3.1 The Big Picture: RDFS Vocabulary 130  
        4.3.2 Basic Syntax and Examples 130  
           4.3.2.1 Defining Classes 130  
           4.3.2.2 Defining Properties 136  
           4.3.2.3 More About Properties 142  
           4.3.2.4 RDFS Datatypes 145  
           4.3.2.5 RDFS Utility Vocabulary 147  
        4.3.3 Summary So Far 148  
           4.3.3.1 Our Camera Vocabulary 148  
           4.3.3.2 Where Is the Knowledge? 152  
     4.4 The Concept of Ontology 152  
        4.4.1 What Is Ontology? 153  
        4.4.2 The Benefits of Ontology 153  
     4.5 Building the Bridge to Ontology: SKOS 154  
        4.5.1 Knowledge Organization Systems (KOS) 154  
        4.5.2 Thesauri vs. Ontologies 156  
        4.5.3 Filling the Gap: SKOS 157  
           4.5.3.1 What Is SKOS? 157  
           4.5.3.2 SKOS Core Constructs 158  
           4.5.3.3 Interlinking Concepts by Using SKOS 163  
     4.6 Another Look at Inferencing Based on RDF Schema 165  
        4.6.1 RDFS Ontology-Based Reasoning: Simple, Yet Powerful 165  
        4.6.2 Good, Better, and Best: More Is Needed 167  
     4.7 Summary 168  
  5 OWL: Web Ontology Language 170  
     5.1 OWL Overview 170  
        5.1.1 OWL in Plain English 170  
        5.1.2 OWL in Official Language: OWL 1 and OWL 2 171  
        5.1.3 From OWL 1 to OWL 2 173  
     5.2 OWL 1 and OWL 2: The Big Picture 173  
        5.2.1 Basic Notions: Axiom, Entity, Expression, and IRI Names 174  
        5.2.2 Basic Syntax Forms: Functional Style, RDF/XML Syntax, Manchester Syntax, and XML Syntax 175  
     5.3 OWL 1 Web Ontology Language 176  
        5.3.1 Defining Classes: The Basics 176  
        5.3.2 Defining Classes: Localizing Global Properties 178  
           5.3.2.1 Value Constraints: owl:allValuesFrom 179  
           5.3.2.2 Enhanced Reasoning Power 1 181  
           5.3.2.3 Value Constraints: owl:someValuesFrom 182  
           5.3.2.4 Enhanced Reasoning Power 2 183  
           5.3.2.5 Value Constraints: owl:hasValue 183  
           5.3.2.6 Enhanced Reasoning Power 3 185  
           5.3.2.7 Cardinality Constraints: owl:cardinality, owl:min(max)Cardinality 185  
           5.3.2.8 Enhanced Reasoning Power 4 187  
        5.3.3 Defining Classes: Using Set Operators 187  
           5.3.3.1 Set Operators 187  
           5.3.3.2 Enhanced Reasoning Power 5 189  
        5.3.4 Defining Classes: Using Enumeration, Equivalent, and Disjoint 190  
           5.3.4.1 Enumeration, Equivalent, and Disjoint 190  
           5.3.4.2 Enhanced Reasoning Power 6 192  
        5.3.5 Our Camera Ontology So Far 192  
        5.3.6 Define Properties: The Basics 194  
        5.3.7 Defining Properties: Property Characteristics 199  
           5.3.7.1 Symmetric Properties 199  
           5.3.7.2 Enhanced Reasoning Power 7 200  
           5.3.7.3 Transitive Properties 201  
           5.3.7.4 Enhanced Reasoning Power 8 201  
           5.3.7.5 Functional Properties 202  
           5.3.7.6 Enhanced Reasoning Power 9 204  
           5.3.7.7 Inverse Property 204  
           5.3.7.8 Enhanced Reasoning Power 10 205  
           5.3.7.9 Inverse Functional Property 205  
           5.3.7.10 Enhanced Reasoning Power 11 207  
        5.3.8 Camera Ontology Written Using OWL 1 207  
     5.4 OWL 2 Web Ontology Language 211  
        5.4.1 What Is New in OWL 2? 211  
        5.4.2 New Constructs for Common Patterns 212  
           5.4.2.1 Common Pattern: Disjointness 212  
           5.4.2.2 Common Pattern: Negative Assertions 214  
        5.4.3 Improved Expressiveness for Properties 215  
           5.4.3.1 Property Self-Restriction 215  
           5.4.3.2 Property Self-Restriction: Enhanced Reasoning Power 12 216  
           5.4.3.3 Property Cardinality Restrictions 216  
           5.4.3.4 Property Cardinality Restrictions: Enhanced Reasoning Power 13 218  
           5.4.3.5 More About Property Characteristics: Reflexive, Irreflexive, and Asymmetric Properties 218  
           5.4.3.6 More About Property Characteristics: Enhanced Reasoning Power 14 220  
           5.4.3.7 Disjoint Properties 220  
           5.4.3.8 Disjoint Properties: Enhanced Reasoning Power 15 221  
           5.4.3.9 Property Chains 222  
           5.4.3.10 Property Chains: Enhanced Reasoning Power 16 224  
           5.4.3.11 Keys 224  
           5.4.3.12 Keys: Enhanced Reasoning Power 17 225  
        5.4.4 Extended Support for Datatypes 225  
           5.4.4.1 Wider Range of Supported Datatypes and Extra Built-In Datatypes 226  
           5.4.4.2 Restrictions on Datatypes and User-Defined Datatypes 226  
           5.4.4.3 Data Range Combinations 228  
        5.4.5 Punning and Annotations 229  
           5.4.5.1 Understanding Punning 229  
           5.4.5.2 OWL Annotations, Axioms About Annotation Properties 230  
        5.4.6 Other OWL 2 Features 233  
           5.4.6.1 Entity Declarations 233  
           5.4.6.2 Top and Bottom Properties 234  
           5.4.6.3 Imports and Versioning 234  
        5.4.7 OWL Constructs in Instance Documents 237  
        5.4.8 OWL 2 Profiles 241  
           5.4.8.1 Why We Need All These? 241  
           5.4.8.2 Assigning Semantics to OWL Ontology: Description Logic vs. RDF-Based Semantics 241  
           5.4.8.3 Three Faces of OWL 1 242  
           5.4.8.4 Understanding OWL 2 Profiles 244  
           5.4.8.5 OWL 2 EL, QL, and RL 245  
        5.4.9 Our Camera Ontology in OWL 2 248  
     5.5 Summary 253  
  6 SPARQL: Querying the Semantic Web 255  
     6.1 SPARQL Overview 255  
        6.1.1 SPARQL in Official Language 255  
        6.1.2 SPARQL in Plain English 256  
        6.1.3 Other Related Concepts: RDF Data Store, RDF Database, and Triple Store 257  
     6.2 Set up Joseki SPARQL Endpoint 258  
     6.3 SPARQL Query Language 261  
        6.3.1 The Big Picture 263  
           6.3.1.1 Triple Pattern 263  
           6.3.1.2 Graph Pattern 264  
        6.3.2 SELECT Query 266  
           6.3.2.1 Structure of a SELECT Query 266  
           6.3.2.2 Writing Basic SELECT Query 267  
           6.3.2.3 Using OPTIONAL Keyword for Matches 271  
           6.3.2.4 Using Solution Modifier 273  
           6.3.2.5 Using FILTER Keyword to Add Value Constraints 275  
           6.3.2.6 Using Union Keyword for Alternative Match 278  
           6.3.2.7 Working with Multiple Graphs 281  
        6.3.3 CONSTRUCT Query 286  
        6.3.4 DESCRIBE Query 288  
        6.3.5 ASK Query 289  
     6.4 What Is Missing from SPARQL? 291  
     6.5 SPARQL 1.1 291  
        6.5.1 Introduction: What Is New? 291  
        6.5.2 SPARQL 1.1 Query 292  
           6.5.2.1 Aggregate Functions 292  
           6.5.2.2 Subqueries 294  
           6.5.2.3 Negation 295  
           6.5.2.4 Expressions with SELECT 297  
           6.5.2.5 Property Paths 298  
        6.5.3 SPARQL 1.1 Update 299  
           6.5.3.1 Graph Update: Adding RDF Statements 300  
           6.5.3.2 Graph Update: Deleting RDF Statements 301  
           6.5.3.3 Graph Update: LOAD and CLEAR 303  
           6.5.3.4 Graph Management: Graph Creation 303  
           6.5.3.5 Graph Management: Graph Removal 303  
     6.6 Summary 304  
  7 FOAF: Friend of a Friend 305  
     7.1 What Is FOAF and What It Does 305  
        7.1.1 FOAF in Plain English 305  
        7.1.2 FOAF in Official Language 306  
     7.2 Core FOAF Vocabulary and Examples 307  
        7.2.1 The Big Picture: FOAF Vocabulary 307  
        7.2.2 Core Terms and Examples 308  
     7.3 Create Your FOAF Document and Get into the Friend Circle 315  
        7.3.1 How Does the Circle Work? 315  
        7.3.2 Create Your FOAF Document 317  
        7.3.3 Get into the Circle: Publish Your FOAF Document 319  
        7.3.4 From Web Pages for Human Eyes to Web Pages for Machines 321  
     7.4 Semantic Markup: a Connection Between the Two Worlds 322  
        7.4.1 What Is Semantic Markup 322  
        7.4.2 Semantic Markup: Procedure and Example 322  
        7.4.3 Semantic Markup: Feasibility and Different Approaches 326  
     7.5 Summary 328  
  8 Semantic Markup at Work: Rich Snippets and SearchMonkey 329  
     8.1 Introduction 329  
        8.1.1 Prerequisite: How Does a Search Engine Work? 329  
           8.1.1.1 Basic Search Engine Tasks 329  
           8.1.1.2 Basic Search Engine Workflow 330  
        8.1.2 Rich Snippets and SearchMonkey 332  
     8.2 Rich Snippets by Google 333  
        8.2.1 What Is Rich Snippets: An Example 333  
        8.2.2 How Does It Work: Semantic Markup Using Microformats/RDFa 333  
           8.2.2.1 Rich Snippets Powered by Semantic Markup 333  
           8.2.2.2 Microformats Supported by Rich Snippets 335  
           8.2.2.3 Ontologies Supported by Rich Snippets 336  
        8.2.3 Test It Out Yourself 336  
     8.3 SearchMonkey from Yahoo 336  
        8.3.1 What Is SearchMonkey: An Example 337  
        8.3.2 How Does It Work: Semantic Markup Using Microformats/RDFa 338  
           8.3.2.1 SearchMonkey Architecture 339  
           8.3.2.2 Microformats Supported by SearchMonkey 343  
           8.3.2.3 Ontologies Supported by SearchMonkey 343  
        8.3.3 Test It Out Yourself 343  
     8.4 Summary 344  
     Reference 344  
  9 Semantic Wiki 345  
     9.1 Introduction: From Wiki to Semantic Wiki 345  
        9.1.1 What Is a Wiki? 345  
        9.1.2 From Wiki to Semantic Wiki 347  
     9.2 Adding Semantics to Wiki Site 349  
        9.2.1 Namespace and Category System 350  
        9.2.2 Semantic Annotation in Semantic MediaWiki 353  
           9.2.2.1 Semantic Annotation: Links 353  
           9.2.2.2 Semantic Annotation: Text 357  
     9.3 Using the Added Semantics 361  
        9.3.1 Browsing 361  
           9.3.1.1 FactBox 361  
           9.3.1.2 Semantic Browsing Interface 362  
        9.3.2 Wiki Site Semantic Search 364  
           9.3.2.1 Direct Wiki Query: Basics 364  
           9.3.2.2 Direct Wiki Query: Advanced Search 367  
           9.3.2.3 Displaying Information 369  
        9.3.3 Inferencing 370  
     9.4 Where Is the Semantics? 373  
        9.4.1 SWiVT: an Upper Ontology for Semantic Wiki 374  
        9.4.2 Understanding OWL/RDF Exports 376  
        9.4.3 Importing Ontology: a Bridge to Outside World 386  
     9.5 The Power of the Semantic Web 389  
     9.6 Use Semantic MediaWiki to Build Your Own Semantic Wiki 390  
     9.7 Summary 390  
  10 DBpedia 392  
     10.1 Introduction to DBpedia 392  
        10.1.1 From Manual Markup to Automatic Generation of Annotation 392  
        10.1.2 From Wikipedia to DBpedia 393  
        10.1.3 The Look and Feel of DBpedia: Page Redirect 395  
     10.2 Semantics in DBpedia DBpedia look and feel 398  
        10.2. Infobox Template 398  
        10.2.2 Creating DBpedia Ontology 401  
           10.2.2.1 The Need for Ontology 401  
           10.2.2.2 Mapping Infobox Templates to Classes 403  
           10.2.2.3 Mapping Infobox Template Attributes to Properties 405  
        10.2.3 Infobox Extraction Methods 407  
           10.2.3.1 Generic Infobox Extraction Method 408  
           10.2.3.2 Mapping-Based Infobox Extraction Method 408  
     10.3 Accessing DBpedia Dataset 409  
        10.3.1 Using SPARQL to Query DBpedia 410  
           10.3.1.1 SPARQL Endpoints for DBpedia 410  
           10.3.1.2 Examples of Using SPARQL to Access DBpedia 411  
        10.3.2 Direct Download of DBpedia Datasets 414  
           10.3.2.1 The Wikipedia Datasets 414  
           10.3.2.2 DBpedia Core Datasets 414  
           10.3.2.3 Extended Datasets 418  
        10.3.3 Access DBpedia as Linked Data 419  
     10.4 Summary 421  
     Reference 421  
  11 Linked Open Data 422  
     11.1 The Concept of Linked Data and Its Basic Rules 422  
        11.1.1 The Concept of Linked Data 422  
        11.1.2 How Big Is the Web of Linked Data and the LOD Project 424  
        11.1.3 The Basic Rules of Linked Data 425  
     11.2 Publishing RDF Data on the Web 426  
        11.2.1 Identifying Things with URIs 426  
           11.2.1.1 Web Document, Information Resource, and URI 426  
           11.2.1.2 Non-information Resources and Their URIs 428  
           11.2.1.3 URIs for Non-information Resources: 303 URIs and Content Negotiation 429  
           11.2.1.4 URIs for Non-information Resources: Hash URIs 432  
           11.2.1.5 URIs for Non-information Resources: 303 URIs vs. Hash URIs 434  
           11.2.1.6 URI Aliases 434  
        11.2.2 Choosing Vocabularies for RDF Data 436  
        11.2.3 Creating Links to Other RDF Data 440  
           11.2.3.1 Basic Language Constructs to Create Links 440  
           11.2.3.2 Creating Links Manually 444  
           11.2.3.3 Creating Links Automatically 446  
        11.2.4 Serving Information as Linked Data 447  
           11.2.4.1 Minimum Requirements for Being Linked Open Data 447  
           11.2.4.2 Example: Publishing Linked Data on the Web 449  
           11.2.4.3 Make Sure You Have Done It Right 451  
     11.3 The Consumption of Linked Data 452  
        11.3.1 Discover Specific Target on the Linked Data Web 454  
           11.3.1.1 Semantic Web Search Engine for Human Eyes 454  
           11.3.1.2 Semantic Web Search Engine for Applications 456  
        11.3.2 Accessing the Web of Linked Data 458  
           11.3.2.1 Using a Linked Data Browser 458  
           11.3.2.2 Using SPARQL Endpoints 463  
           11.3.2.3 Accessing the Linked Data Web Programmatically 468  
     11.4 Linked Data Application 468  
        11.4.1 Linked Data Application Example: Revyu 469  
           11.4.1.1 Revyu: An Overview 469  
           11.4.1.2 Revyu: Why It Is Different 474  
        11.4.2 Web 2.0 Mashups vs. Linked Data Mashups 476  
     11.5 Summary 478  
  12 Building the Foundation for Development on the Semantic Web 480  
     12.1 Development Tools for the Semantic Web 480  
        12.1.1 Frameworks for the Semantic Web Applications 480  
           12.1.1.1 What Is a Framework and Why We Need It? 480  
           12.1.1.2 Jena 482  
           12.1.1.3 Sesame 482  
           12.1.1.4 Virtuoso 482  
           12.1.1.5 Redland 483  
        12.1.2 Reasoners for the Semantic Web Applications 484  
           12.1.2.1 What Is a Reasoner and Why We Need It? 484  
           12.1.2.2 Pellet 485  
           12.1.2.3 RacerPro 485  
           12.1.2.4 Jena 486  
           12.1.2.5 Virtuoso 486  
        12.1.3 Ontology Engineering Environments 487  
           12.1.3.1 What Is an Ontology Engineering Environment and Why We Need It? 487  
           12.1.3.2 Protégé 488  
           12.1.3.3 NeOn 489  
           12.1.3.4 TopBraid Composer 490  
        12.1.4 Other Tools: Search Engines for the Semantic Web 491  
        12.1.5 Where to Find More? 491  
     12.2 Semantic Web Application Development Methodology 491  
        12.2.1 From Domain Models to Ontology-Driven Architecture 491  
           12.2.1.1 Domain Models and MVC Architecture 491  
           12.2.1.2 The Uniqueness of Semantic Web Application Development 493  
           12.2.1.3 Ontology-Driven Software Development 495  
           12.2.1.4 Further Discussions 497  
        12.2.2 An Ontology Development Methodology Proposed by Noy and McGuinness 497  
           12.2.2.1 Basic Tasks and Fundamental Rules 497  
           12.2.2.2 Basic Steps of Ontology Development 498  
           12.2.2.3 Other Considerations 500  
     12.3 Summary 502  
     Reference 503  
  13 Jena: A Framework for Development on the Semantic Web 504  
     13.1 Jena: A Semantic Web Framework for Java 504  
        13.1.1 What Is Jena and What It Can Do for Us? 504  
        13.1.2 Getting Jena Package 505  
        13.1.3 Using Jena in Your Projects 508  
           13.1.3.1 Using Jena in Eclipse 508  
           13.1.3.2 Hello World! from Semantic Web Application 510  
     13.2 Basic RDF Model Operations 514  
        13.2.1 Creating an RDF Model 515  
        13.2.2 Reading an RDF Model 520  
        13.2.3 Understanding an RDF Model 522  
     13.3 Handling Persistent RDF Models 528  
        13.3.1 From In-memory Model to Persistent Model 528  
        13.3.2 Setting Up MySQL 529  
        13.3.3 Database-Backed RDF Models 530  
           13.3.3.1 Single Persistent RDF Model 530  
           13.3.3.2 Multiple Persistent RDF Models 535  
     13.4 Inferencing Using Jena 537  
        13.4.1 Jena Inferencing Model 537  
        13.4.2 Jena Inferencing Examples 538  
     13.5 Summary 544  
  14 Follow Your Nose: A Basic Semantic Web Agent 546  
     14.1 The Principle of Follow-Your-Nose Method 546  
        14.1.1 What Is Follow-Your-Nose Method? 546  
        14.1.2 URI Declarations, Open Linked Data, and Follow-Your-Nose Method 548  
     14.2 A Follow-Your-Nose Agent in Java 549  
        14.2.1 Building the Agent 549  
        14.2.2 Running the Agent 556  
        14.2.3 More Clues for Follow Your Nose 558  
        14.2.4 Can You Follow Your Nose on Traditional Web? 559  
     14.3 A Better Implementation of Follow-Your-Nose Agent: Using SPARQL Queries 561  
        14.3.1 In-memory SPARQL Operation 562  
        14.3.2 Using SPARQL Endpoints Remotely 566  
     14.4 Summary 569  
  15 More Application Examples on the Semantic Web 571  
     15.1 Building Your Circle of Trust: A FOAF Agent You Can Use 571  
        15.1.1 Who Is on Your E-mail List? 571  
        15.1.2 The Basic Idea 572  
        15.1.3 Building the EmailAddressCollector Agent 575  
           15.1.3.1 EmailAddressCollector 575  
           15.1.3.2 Running the EmailAddressCollector Agent 583  
        15.1.4 Can You Do the Same for Traditional Web? 584  
     15.2 A ShopBot on the Semantic Web 585  
        15.2.1 A ShopBot We Can Have 585  
        15.2.2 A ShopBot We Really Want 586  
           15.2.2.1 How Does It Understand Our Needs? 586  
           15.2.2.2 How Does It Find the Next Candidate? 590  
           15.2.2.3 How Does It Decide Whether There Is a Match or Not? 593  
        15.2.3 Building Our ShopBot 595  
           15.2.3.1 Utility Methods and Class 595  
           15.2.3.2 Processing the Catalog Document 601  
           15.2.3.3 The Main Work Flow 605  
           15.2.3.4 Running Our ShopBot 609  
        15.2.4 Discussion: From Prototype to Reality 611  
     15.3 Summary 612  
  Index 613  

Kategorien

Service

Info/Kontakt