A Developer’s Guide to the Semantic Web (eBook)

(Autor)

eBook Download: PDF
2014 | 2nd ed. 2014
XXV, 829 Seiten
Springer Berlin (Verlag)
978-3-662-43796-4 (ISBN)

Lese- und Medienproben

A Developer’s Guide to the Semantic Web - Liyang Yu
Systemvoraussetzungen
69,54 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

The Semantic Web represents a vision for how to make the huge amount of information on the Web automatically processable by machines on a large scale. For this purpose, a whole suite of standards, technologies and related tools have been specified and developed over the last couple of years and they have now become the foundation for numerous new applications.

A Developer's Guide to the Semantic Web helps the reader to learn the core standards, key components and underlying concepts. It provides in-depth coverage of both the what-is and how-to aspects of the Semantic Web. From Yu's presentation, the reader will obtain not only a solid understanding about the Semantic Web, but also learn how to combine all the pieces to build new applications on the Semantic Web.

The second edition of this book not only adds detailed coverage of the latest W3C standards such as SPARQL 1.1 and RDB2RDF, it also updates the readers by following recent developments. More specifically, it includes five new chapters on schema.org and semantic markup, on Semantic Web technologies used in social networks and on new applications and projects such as data.gov and Wikidata and it also provides a complete coding example of building a search engine that supports Rich Snippets.

Software developers in industry and students specializing in Web development or Semantic Web technologies will find in this book the most complete guide to this exciting field available today. Based on the step-by-step presentation of real-world projects, where the technologies and standards are applied, they will acquire the knowledge needed to design and implement state-of-the-art applications.



Liyang Yu is Senior Software Developer with Delta Air Lines in Atlanta, GA, USA. His previously published Semantic Web books are widely used as textbooks and often referenced by developers worldwide. He also actively provides services and assistance to a variety of organizations and companies about development and applications of Semantic Web technologies.

Liyang Yu is Senior Software Developer with Delta Air Lines in Atlanta, GA, USA. His previously published Semantic Web books are widely used as textbooks and often referenced by developers worldwide. He also actively provides services and assistance to a variety of organizations and companies about development and applications of Semantic Web technologies.

Preface to the First Edition 8
Objectives of the Book 8
Intended Readers 9
Structure of the Book 9
Where to Get the Code 12
Acknowledgment 12
Preface to the Second Edition 14
Contents 18
Part I: Core of the Semantic Web 27
Chapter 1: A Web of Data: Toward the Idea of the Semantic Web 28
1.1 A Motivating Example: Data Integration on the Web 29
1.1.1 A Smart Data Integration Agent 29
1.1.2 Is Smart Data Integration Agent Possible? 35
1.1.3 The Idea of the Semantic Web 36
1.2 A More General Goal: A Web Understandable to Machines 37
1.2.1 How Do We Use the Web? 37
1.2.1.1 Searching 37
1.2.1.2 Information Integration 38
1.2.1.3 Web Data Mining 39
1.2.2 What Stops Us From Doing More? 40
1.2.3 Again, the Idea of the Semantic Web 42
1.3 The Semantic Web: A First Look 42
1.3.1 The Concept of the Semantic Web 42
1.3.2 The Semantic Web, Linked Data and the Web of Data 43
1.3.3 Some Basic Things About the Semantic Web 45
Reference 46
Chapter 2: The Building Block for the Semantic Web: RDF 47
2.1 RDF Overview 47
2.1.1 RDF In Official Language 47
2.1.2 RDF in Plain English 49
2.2 The Abstract Model of RDF 53
2.2.1 The Big Picture 53
2.2.2 Statement 54
2.2.3 Resource and Its URI Name 55
2.2.4 Predicate and Its URI Name 60
2.2.5 RDF Triples: Knowledge That Machines Can Use 62
2.2.6 RDF Literals and Blank Node 64
2.2.6.1 Basic Terminologies So Far 64
2.2.6.2 Literal Values 66
2.2.6.3 Blank Nodes 68
2.2.7 A Summary So Far 71
2.3 RDF Serialization: RDF/XML Syntax 72
2.3.1 The Big Picture: RDF Vocabulary 72
2.3.2 Basic Syntax and Examples 73
2.3.2.1 rdf:RDF, rdf:Description, rdf:about and rdf:resource 74
2.3.2.2 rdf:type and Typed Nodes 76
2.3.2.3 Using Resource as Property Value 78
2.3.2.4 Using Untyped Literals as Property Values, rdf:value and rdf:parseType 80
2.3.2.5 Using Typed Literal Values and rdf:datatype 83
2.3.2.6 rdf:nodeID and More About Anonymous Resources 86
2.3.2.7 rdf:ID, xml:base and RDF/XML Abbreviation 88
2.3.3 Other RDF Capabilities and Examples 90
2.3.3.1 RDF Containers: rdf:Bag, rdf:Seq, rdf:Alt and rdf:li 90
2.3.3.2 RDF Collections: rdf:first, rdf:rest, rdf:nil and rdf:List 93
2.3.3.3 RDF Reification: rdf:statement, rdf:subject, rdf:predicate and rdf:object 95
2.4 Other RDF Sterilization Formats 97
2.4.1 Notation-3, Turtle and N-Triples 97
2.4.2 Turtle Language 97
2.4.2.1 Basic Language Features 98
2.4.2.2 Abbreviations and Shortcuts: Namespace Prefix, Default Prefix and @base 99
2.4.2.3 Abbreviations and Shortcuts: Token a, Comma and Semicolons 102
2.4.2.4 Turtle Blank Nodes 103
2.5 Fundamental Rules of RDF 105
2.5.1 Information that Is Understandable by Machines 105
2.5.2 Distributed Information Aggregation 108
2.5.3 A Hypothetical Real World Example 109
2.6 More About RDF 112
2.6.1 Dublin Core: Example of Predefined RDF Vocabulary 112
2.6.2 XML vs. RDF? 114
2.6.3 Use a RDF Validator 117
2.7 Summary 118
Chapter 3: Other RDF-Related Technologies: Microformats, RDFa and GRDDL 120
3.1 Introduction: Why Do We Need These? 120
3.2 Microformats 121
3.2.1 Microformats: The Big Picture 121
3.2.2 Microformats: Syntax and Examples 122
3.2.2.1 From vCard to hCard Microformat 123
3.2.2.2 Using hCard Microformat to Markup Page Content 124
3.2.3 Microformats and RDF 128
3.2.3.1 What´s So Good About Microformats? 128
3.2.3.2 Microformats and RDF 128
3.3 RDFa 129
3.3.1 RDFa: The Big Picture 129
3.3.2 RDFa Attributes and RDFa Elements 130
3.3.3 RDFa: Rules and Examples 131
3.3.3.1 RDFa Rules 131
3.3.3.2 RDFa Examples 133
3.3.4 RDFa and RDF 138
3.3.4.1 What´s So Good About RDFa? 138
3.3.4.2 RDFa and RDF 138
3.4 GRDDL 139
3.4.1 GRDDL: The Big Picture 139
3.4.2 Using GRDDL with Microformats 140
3.4.3 Using GRDDL with RDFa 141
3.5 Summary 142
Chapter 4: RDFS and Ontology 143
4.1 RDFS Overview 143
4.1.1 RDFS in Plain English 143
4.1.2 RDFS in Official Language 145
4.2 RDFS+RDF: One More Step Toward Machine-Readable 145
4.2.1 A Common Language to Share 145
4.2.2 Machine Inferencing Based on RDFS 147
4.3 RDFS Core Elements 148
4.3.1 The Big Picture: RDFS Vocabulary 148
4.3.2 Basic Syntax and Examples 149
4.3.2.1 Defining Classes 149
4.3.2.2 Defining Properties 155
4.3.2.3 More About Properties 161
4.3.2.4 RDFS Data Types 164
4.3.2.5 RDFS Utility Vocabulary 166
4.3.3 Summary So Far 168
4.3.3.1 Our Camera Vocabulary 168
4.3.3.2 Where Is the Knowledge? 172
4.4 The Concept of Ontology 172
4.4.1 What Is Ontology 173
4.4.2 The Benefits of Ontology 173
4.5 Building the Bridge to Ontology: SKOS 174
4.5.1 Knowledge Organization Systems (KOS) 174
4.5.2 Thesauri vs. Ontologies 176
4.5.3 Filling the Gap: SKOS 178
4.5.3.1 What Is SKOS? 178
4.5.3.2 SKOS Core Constructs 178
4.5.3.3 Interlinking Concepts by Using SKOS 184
4.6 Another Look at Inferencing Based on RDF Schema 185
4.6.1 RDFS Ontology Based Reasoning: Simple, Yet Powerful 185
4.6.2 Good, Better and Best: More Is Needed 188
4.7 Summary 188
Chapter 5: OWL: Web Ontology Language 190
5.1 OWL Overview 190
5.1.1 OWL in Plain English 190
5.1.2 OWL in Official Language: OWL 1 and OWL 2 191
5.1.3 From OWL 1 to OWL 2 193
5.2 OWL 1 and OWL 2: The Big Picture 194
5.2.1 Basic Notions: Axiom, Entity, Expression and IRI Names 194
5.2.2 Basic Syntax Forms: Functional-Style, RDF/XML Syntax, Manchester Syntax and XML Syntax 195
5.3 OWL 1 Web Ontology Language 196
5.3.1 Defining Classes: The Basics 197
5.3.2 Defining Classes: Localizing Global Properties 199
5.3.2.1 Value Constraints: owl:allValuesFrom 199
5.3.2.2 Enhanced Reasoning Power 1 202
5.3.2.3 Value Constraints: owl:someValuesFrom 203
5.3.2.4 Enhanced Reasoning Power 2 204
5.3.2.5 Value Constraints: owl:hasValue 204
5.3.2.6 Enhanced Reasoning Power 3 206
5.3.2.7 Cardinality Constraints: owl:cardinality, owl:min(max)Cardinality 206
5.3.2.8 Enhanced Reasoning Power 4 209
5.3.3 Defining Classes: Using Set Operators 209
5.3.3.1 Set Operators 210
5.3.3.2 Enhanced Reasoning Power 5 212
5.3.4 Defining Classes: Using Enumeration, Equivalent and Disjoint 212
5.3.4.1 Enumeration, Equivalent and Disjoint 212
5.3.4.2 Enhanced Reasoning Power 6 215
5.3.5 Our Camera Ontology So Far 215
5.3.6 Define Properties: The Basics 218
5.3.7 Defining Properties: Property Characteristics 224
5.3.7.1 Symmetric Properties 224
5.3.7.2 Enhanced Reasoning Power 7 225
5.3.7.3 Transitive Properties 225
5.3.7.4 Enhanced Reasoning Power 8 226
5.3.7.5 Functional Properties 227
5.3.7.6 Enhanced Reasoning Power 9 229
5.3.7.7 Inverse Property 230
5.3.7.8 Enhanced Reasoning Power 10 231
5.3.7.9 Inverse Functional Property 231
5.3.7.10 Enhanced Reasoning Power 11 233
5.3.8 Camera Ontology Written Using OWL 1 233
5.4 OWL 2 Web Ontology Language 237
5.4.1 What Is New in OWL 2 238
5.4.2 New Constructs for Common Patterns 238
5.4.2.1 Common Pattern: Disjointness 239
5.4.2.2 Common Pattern: Negative Assertions 240
5.4.3 Improved Expressiveness for Properties 242
5.4.3.1 Property Self Restriction 242
5.4.3.2 Property Self Restriction: Enhanced Reasoning Power 12 243
5.4.3.3 Property Cardinality Restrictions 243
5.4.3.4 Property Cardinality Restrictions: Enhanced Reasoning Power 13 245
5.4.3.5 More About Property Characteristics: Reflexive, Irreflexive and Asymmetric Properties 246
5.4.3.6 More About Property Characteristics: Enhanced Reasoning Power 14 247
5.4.3.7 Disjoint Properties 248
5.4.3.8 Disjoint Properties: Enhanced Reasoning Power 15 249
5.4.3.9 Property Chains 250
5.4.3.10 Property Chains: Enhanced Reasoning Power 16 252
5.4.3.11 Keys 252
5.4.3.12 Keys: Enhanced Reasoning Power 17 253
5.4.4 Extended Support for Datatypes 253
5.4.4.1 Wider Range of Supported Datatypes and Extra Built-in Datatypes 254
5.4.4.2 Restrictions on Datatypes and User-Defined Datatypes 254
5.4.4.3 Data Range Combinations 257
5.4.5 Punning and Annotations 258
5.4.5.1 Understanding Punning 258
5.4.5.2 OWL Annotations, Axioms About Annotation Properties 259
5.4.6 Other OWL 2 Features 262
5.4.6.1 Entity Declarations 262
5.4.6.2 Top and Bottom Properties 263
5.4.6.3 Imports and Versioning 263
5.4.7 OWL Constructs in Instance Documents 267
5.4.8 OWL 2 Profiles 271
5.4.8.1 Why Do We Need All These? 271
5.4.8.2 Assigning Semantics to OWL Ontology: Description Logic vs. RDF-Based Semantics 271
5.4.8.3 Three Faces of OWL 1 272
5.4.8.4 Understanding OWL 2 Profiles 274
5.4.8.5 OWL 2 EL, QL and RL 275
5.4.9 Our Camera Ontology in OWL 2 277
5.5 Summary 283
Chapter 6: SPARQL: Querying the Semantic Web 285
6.1 SPARQL Overview 285
6.1.1 SPARQL in Official Language 285
6.1.2 SPARQL in Plain Language 286
6.1.3 RDF Datasets and SPARQL Endpoints 287
6.2 SPARQL 1.0 Query Language 289
6.2.1 The Big Picture 291
6.2.1.1 Triple Pattern 291
6.2.1.2 Graph Pattern 293
6.2.2 SELECT Query 294
6.2.2.1 Structure of a SELECT Query 294
6.2.2.2 Writing Basic SELECT Query 296
6.2.2.3 Using OPTIONAL Keyword for Matches 301
6.2.2.4 Using Solution Modifier 305
6.2.2.5 Using FILTER Keyword to Add Value Constraints 308
6.2.2.6 Using Union Keyword for Alternative Match 311
6.2.2.7 Working with Multiple Graphs 315
6.2.3 CONSTRUCT Query 322
6.2.4 DESCRIBE Query 325
6.2.5 ASK Query 326
6.2.6 What Is Missing from SPARQL 1.0? 327
6.3 SPARQL 1.1 Query Language 328
6.3.1 Introduction: What Is New? 328
6.3.2 SPARQL 1.1 Query 329
6.3.2.1 Aggregates 329
6.3.2.2 Subqueries 335
6.3.2.3 Negation 337
6.3.2.4 Property Paths 340
6.3.2.5 Assignment 344
6.3.3 SPARQL 1.1 Federated Query 347
6.3.3.1 Simple Query to a Remote SPARQL Endpoint 348
6.3.3.2 Federated Queries with Multiple SPARQL Endpoints 349
6.3.4 SPARQL 1.1 Update 350
6.3.4.1 Graph Update: INSERT DATA Operation 351
6.3.4.2 Graph Update: DELETE DATA Operation 352
6.3.4.3 Graph Update: DELETE/INSERT Operation Based on Binding Patterns 353
6.3.4.4 Graph Update: LOAD Operation 360
6.3.4.5 Graph Update: CLEAR Operation 360
6.3.4.6 Graph Management: CREATE Operation 361
6.3.4.7 Graph Management: DROP Operation 361
6.3.4.8 Graph Management: COPY Operation 361
6.3.4.9 Graph Management: MOVE Operation 362
6.3.4.10 Graph Management: ADD Operation 362
6.3.5 Other SPARQL 1.1 Features 362
6.3.5.1 Examples of String Functions 363
6.3.5.2 Examples of Numeric Functions 365
6.3.5.3 Examples of Date/Time and Related Functions 366
6.3.5.4 Examples of Hash Functions 369
6.3.5.5 Other New Functions and Operators 369
6.4 Summary 372
Part II: Applied Semantic Web 374
Chapter 7: FOAF: Friend of a Friend 375
7.1 What FOAF Is and What It Does 375
7.1.1 FOAF in Plain English 375
7.1.2 FOAF in Official Language 376
7.2 Core FOAF Vocabulary and Examples 377
7.2.1 The Big Picture: FOAF Vocabulary 378
7.2.2 Core Terms and Examples 379
7.3 Create Your FOAF Document and Get into the Friend Circle 386
7.3.1 How Does the Circle Work? 387
7.3.2 Create Your FOAF Document 389
7.3.3 Get into the Circle: Publish Your FOAF Document 389
7.3.4 From Web Pages for Human Eyes to Web Pages for Machines 392
7.4 Semantic Markup: A Connection Between the Two Worlds 393
7.4.1 What Is Semantic Markup? 394
7.4.2 Semantic Markup: Procedure and Example 394
7.4.3 Semantic Markup: Feasibility and Different Approaches 398
7.5 Summary 400
Chapter 8: DBpedia 401
8.1 Introduction to DBpedia 401
8.1.1 From Manual Markup to Automatic Generation of Annotation 401
8.1.2 From Wikipedia to DBpedia 402
8.1.3 The Look-and-Feel of DBpedia: Page Redirect 403
8.2 Semantics in DBpedia 407
8.2.1 Infobox Template 407
8.2.2 Creating DBpedia Ontology 410
8.2.2.1 The Need for Ontology 410
8.2.2.2 Mapping Infobox Templates to Classes 412
8.2.2.3 Mapping Infobox Template Attributes to Properties 414
8.2.3 Infobox Extraction Methods 416
8.2.3.1 Generic Infobox Extraction Method 417
8.2.3.2 Mapping-Based Infobox Extraction Method 418
8.3 Accessing DBpedia Dataset 419
8.3.1 Using SPARQL to Query DBpedia 419
8.3.1.1 SPARQL Endpoints for DBpedia 419
8.3.1.2 Examples of Using SPARQL to Access DBpedia 421
8.3.2 Direct Download of DBpedia Datasets 424
8.3.2.1 The Wikipedia Datasets 425
8.3.2.2 DBpedia Core Datasets 425
8.3.2.3 Extended Datasets 429
8.3.3 Access DBpedia as Linked Data 430
8.4 Summary 432
Reference 432
Chapter 9: Linked Open Data 433
9.1 The Concept of Linked Data and Its Basic Rules 433
9.1.1 The Concept of Linked Data 433
9.1.2 How Big Are the Web of Linked Data and the LOD Project? 435
9.1.3 The Basic Rules of Linked Data 436
9.2 Publishing RDF Data on the Web 437
9.2.1 Identifying Things with URIs 438
9.2.1.1 Web Document, Information Resource and URI 438
9.2.1.2 Non-information Resources and Their URIs 439
9.2.1.3 URIs for Non-information Resources: 303 URIs and Content Negotiation 441
9.2.1.4 URIs for Non-information Resources: Hash URIs 443
9.2.1.5 URIs for Non-information Resources: 303 URIs vs. Hash URIs 445
9.2.1.6 URI Aliases 446
9.2.2 Choosing Vocabularies for RDF Data 449
9.2.3 Creating Links to Other RDF Data 451
9.2.3.1 Basic Language Constructs to Create Links 451
9.2.3.2 Creating Links Manually 455
9.2.3.3 Creating Links Automatically 457
9.2.4 Serving Information as Linked Data 458
9.2.4.1 Minimum Requirements for Being Linked Open Data 458
9.2.4.2 Example: Publishing Linked Data on the Web 460
9.2.4.3 Make Sure You Have Done It Right 463
9.3 The Consumption of Linked Data 464
9.3.1 Discover Specific Targets on the Linked Data Web 466
9.3.1.1 Semantic Web Search Engine for Human Eyes 466
9.3.1.2 Semantic Web Search Engine for Applications 468
9.3.2 Accessing the Web of Linked Data 470
9.3.2.1 Using a Linked Data Browser 470
9.3.2.2 Using SPARQL Endpoints 476
9.3.2.3 Accessing the Linked Data Web Programmatically 479
9.4 Linked Data Application 480
9.4.1 Linked Data Application Example: Revyu 480
9.4.1.1 Revyu: An Overview 480
9.4.1.2 Revyu: Why It Is Different 486
9.4.2 Web 2.0 Mashups vs. Linked Data Mashups 488
9.5 Summary 490
Chapter 10: schema.org and Semantic Markup 492
10.1 Introduction to schema.org 492
10.1.1 What Is schema.org? 492
10.1.2 Understanding the schema.org Vocabulary 494
10.2 Content Markup Using schema.org 496
10.2.1 RDFa 1.1 Lite: A Simple Subset of RDFa 496
10.2.2 What Markup Format to Use? 502
10.2.3 Type Checking and Other Issues 503
10.2.4 Validating Your Markup 505
10.3 Content Markup Example 1: Google Rich Snippets 507
10.3.1 What Is Rich Snippets: An Example 507
10.3.2 Google Rich Snippets: Semantic Markup Using schema.org 509
10.3.2.1 The Basic Flow of Rich Snippets 509
10.3.2.2 Markup for Rich Snippets: Basic Steps 511
10.3.2.3 Markup for Rich Snippets: Examples by RDFa 512
10.3.3 Using Google Rich Snippets Testing Tool 518
10.4 Content Markup Example 2: LRMI Project 522
10.4.1 The Idea of LRMI 522
10.4.2 LRMI Specification 524
10.4.3 LRMI Implementation Examples 527
10.4.3.1 LRMI Markup Example 527
10.4.3.2 Customized Searching and Filtering Based on LRMI Markup 529
10.5 Summary 531
References 532
Chapter 11: Social Networks and the Semantic Web 533
11.1 Overview of Social Networking Websites 533
11.2 Facebook´s Open Graph Protocol 535
11.2.1 Open Graph Protocol 536
11.2.2 How Does It Work: Creating Typed Links Using OGP 540
11.2.2.1 The Basic Idea and Process 540
11.2.2.2 Open Graph Markup Examples 540
11.2.2.3 Open Graph Issues 544
11.2.3 Implications for the Semantic Web 545
11.3 Twitter Cards for Structured Information 546
11.3.1 Twitter Cards Overview 546
11.3.2 How Does It Work: Structured Information for Rich Tweets 549
11.3.2.1 The Basic Idea and Process 549
11.3.2.2 Twitter Card Markup Examples 549
11.3.2.3 Twitter Card Issues 553
11.3.3 Structured Information, But Not Semantic Web Yet 554
11.4 Rich Pins for Structured Information 557
11.4.1 Rich Pin Overview 557
11.4.2 How Does It Work: Generating Rich Pins Using schema.org 559
11.4.2.1 The Basic Idea and Process 559
11.4.2.2 Rich Pin Markup Examples 560
11.4.2.3 Rich Pin Issues 563
11.4.3 Semantic Markup at Work 563
11.5 Summary 565
Chapter 12: Other Recent Applications: data.gov and Wikidata 566
12.1 Data.gov and the Semantic Web 566
12.1.1 Understanding Data.gov 566
12.1.2 How Is Data.gov Related to the Semantic Web? 572
12.1.3 Potential eGov Standards: Breaking the Boundaries of Datasets 576
12.1.4 Example Data.gov Applications 579
12.2 Wikidata and the Semantic Web 581
12.2.1 From Wikipedia to Wikidata 581
12.2.1.1 Are All the Infoboxes the Same? 581
12.2.1.2 Are All the Language Links the Same? 583
12.2.1.3 What About Fact Lists? 584
12.2.2 Three Phases of the Wikidata Project 586
12.2.3 Wikidata as a Data Repository 589
12.2.3.1 Wikidata URI Schema 589
12.2.3.2 DBpedia Vs. Wikidata 591
12.2.4 Wikidata and the Semantic Web 592
12.2.4.1 Wikidata Data Model and Its Ontology 592
12.2.4.2 Example Wikidata Datasets 597
12.3 Summary 600
Part III: Building Your Own Applications on the Semantic Web 601
Chapter 13: Getting Started: Change Your Data into Structured Data 602
13.1 RDF Data in General 602
13.1.1 What Does RDF Data Refer to? 603
13.1.2 Decide in Which Format to Publish Your RDF Data 604
13.1.2.1 RDF/XML 604
13.1.2.2 Turtle 605
13.1.2.3 N-triples 607
13.1.2.4 TriG and NQuads 607
13.1.3 Decide Which Ontology to Use to Publish Your Data 609
13.1.3.1 Discovering Ontologies 609
13.1.3.2 Understanding a New Ontology 612
13.2 Creating RDF Data Manually 615
13.2.1 Popular Editors and Validators 615
13.2.2 Examples: Using TopBraid to Create RDF Data 616
13.3 RDB2RDF: W3C´s Standard for Converting DB Content to RDF Triples 621
13.3.1 RDB2RDF: General Background 621
13.3.2 Direct Mapping from RDB to RDF 622
13.3.3 R2RML: RDB to RDF Mapping You Can Control 626
13.3.3.1 R2RML Mapping Language 626
13.3.3.2 R2RML Mapping Customization 632
13.4 RDB2RDF Example Implementation 636
13.4.1 RDB2RDF Direct Mapping 636
13.4.2 Step-by-Step R2RML Example: Virtuoso 637
13.4.2.1 Installing and Configuring Virtuoso Open Source Edition 637
13.4.2.2 Creating Database Tables and Loading Table Contents 640
13.4.2.3 Loading Ontology 645
13.4.2.4 Creating R2RML Mapping Document 646
13.4.2.5 Exposing the Database Tables as RDF Dataset 649
13.4.2.6 Creating the Physical Dump of the Generated RDF View 653
13.5 Summary 655
Chapter 14: Building the Foundation for Development on the Semantic Web 656
14.1 Development Tools for the Semantic Web 656
14.1.1 Frameworks for the Semantic Web Applications 656
14.1.1.1 What Is a Framework and Why Do We Need It? 656
14.1.1.2 Jena 658
14.1.1.3 Sesame 658
14.1.1.4 Virtuoso 659
14.1.1.5 Redland 659
14.1.2 Reasoners for the Semantic Web Applications 660
14.1.2.1 What Is a Reasoner and Why Do We Need It? 660
14.1.2.2 Pellet 660
14.1.2.3 RacerPro 662
14.1.2.4 Jena 662
14.1.2.5 Virtuoso 662
14.1.3 Ontology Engineering Environments 663
14.1.3.1 What Is an Ontology Engineering Environment and Why Do We Need It? 663
14.1.3.2 Protégé 664
14.1.3.3 NeOn 665
14.1.3.4 TopBraid Composer 666
14.1.4 Other Tools: Search Engines for the Semantic Web 667
14.1.5 Where to Find More? 667
14.2 Semantic Web Application Development Methodology 668
14.2.1 From Domain Models to Ontology-Driven Architecture 668
14.2.1.1 Domain Models and MVC Architecture 668
14.2.1.2 The Uniqueness of Semantic Web Application Development 670
14.2.1.3 Ontology-Driven Software Development 672
14.2.1.4 Further Discussions 673
14.2.2 An Ontology Development Methodology Proposed by Noy and McGuinness 674
14.2.2.1 Basic Tasks and Fundamental Rules 674
14.2.2.2 Basic Steps of Ontology Development 675
Step 1. Determine the Domain and Scope of the Ontology 675
Step 2. Consider Reusing Existing Ontologies 675
Step 3. Enumerate Important Terms in the Ontology 675
Step 4. Define Classes and the Class Hierarchy 676
Step 5. Define the Properties of Classes 676
Step 6. Add Constraints to the Properties 676
Step 7. Create Instances 677
14.2.2.3 Other Considerations 677
14.3 Summary 679
Reference 680
Chapter 15: Example: Using Jena for Development on the Semantic Web 681
15.1 Jena: A Semantic Web Framework for Java 681
15.1.1 What Is Jena and What Can It Do for Us? 681
15.1.2 Getting the Jena Package 682
15.1.3 Using Jena in Your Projects 683
15.1.3.1 Using Jena in Eclipse 683
15.1.3.2 Hello World! from a Semantic Web Application 684
15.2 Basic RDF Model Operations 688
15.2.1 Creating an RDF Model 689
15.2.2 Reading an RDF Model 695
15.2.3 Understanding an RDF Model 697
15.3 Handling Persistent RDF Models 704
15.3.1 From In-Memory Model to Persistent Model 704
15.3.2 Setting up MySQL 705
15.3.3 Database-Backed RDF Models 706
15.3.3.1 Single Persistent RDF Model 706
15.3.3.2 Multiple Persistent RDF Models 711
15.4 Inferencing Using Jena 714
15.4.1 Jena Inferencing Model 714
15.4.2 Jena Inferencing Examples 715
15.5 Summary 722
Chapter 16: Follow Your Nose: A Basic Semantic Web Agent 723
16.1 The Principle of Follow-Your-Nose Method 723
16.1.1 What Is the Follow-Your-Nose Method? 723
16.1.2 URI Declarations, Open Linked Data and Follow-Your-Nose Method 725
16.2 A Follow-Your-Nose Agent in Java 726
16.2.1 Building the Agent 726
16.2.2 Running the Agent 733
16.2.3 More Clues for Follow-Your-Nose 736
16.2.4 Can You Follow Your Nose on Traditional Web? 737
16.3 A Better Implementation of Follow-Your-Nose Agent: Using SPARQL Queries 739
16.3.1 In-Memory SPARQL Operation 739
16.3.2 Using SPARQL Endpoints Remotely 744
16.4 Summary 747
Chapter 17: A Search Engine That Supports Rich Snippets 749
17.1 Why This Is an Interesting Project 749
17.2 Introduction to Lucene 750
17.2.1 Lucene and Our Own Customized Search Engine 750
17.2.2 Core Components of Lucene 751
17.2.2.1 Lucene Document 751
17.2.2.2 Lucene Indexer 752
17.2.2.3 Lucene Searcher 755
17.2.3 Use Lucene in Your Development Environment 757
17.3 Preparing the Semantic Markups 758
17.3.1 From Semantic Markup to Rich Snippets 758
17.3.2 Different Deployment Models of the Markup 759
17.3.3 Examples of Markup 761
17.4 Building the Search Engine 764
17.4.1 Creating the Indexer 764
17.4.1.1 The Updated Flow of the Indexing Process 764
17.4.1.2 Converting Semantic Markup to Rich Snippets 767
17.4.1.3 Examining the Generated Index 770
17.4.2 Creating the Searcher 771
17.4.2.1 The Updated Flow of the Searching Process 771
17.4.2.2 Retrieving the Rich Snippets 774
17.4.2.3 Passing the Rich Snippets to the Front 775
17.4.3 Using Web Container to Start the Search 775
17.4.3.1 Using Apache Web Server for the Search Interface 775
17.4.3.2 Rendering the Rich Snippets in Search Result 776
17.5 Test It Out and Possible Expansions 780
17.5.1 Test Runs of the Search Engine 780
17.5.2 Possible Expansions 782
17.6 Summary 784
Chapter 18: More Application Examples on the Semantic Web 785
18.1 Building Your Circle of Trust: A FOAF Agent You Can Use 785
18.1.1 Who Is on Your E-Mail List? 785
18.1.2 The Basic Idea 786
18.1.3 Building the EmailAddressCollector Agent 789
18.1.3.1 EmailAddressCollector 789
18.1.3.2 Running the EmailAddressCollector Agent 798
18.1.4 Can You Do the Same for the Traditional Web? 800
18.2 A ShopBot on the Semantic Web 800
18.2.1 A ShopBot We Can Have 800
18.2.2 A ShopBot We Really Want 802
18.2.2.1 How Does It Understand Our Needs? 802
18.2.2.2 How Does It Find the Next Candidate? 806
18.2.2.3 How Does It Decide Whether There Is a Match or Not? 809
18.2.3 Building Our ShopBot 811
18.2.3.1 Utility Methods and Class 811
18.2.3.2 Processing the Catalog Document 818
18.2.3.3 The Main Work Flow 822
18.2.3.4 Running Our ShopBot 827
18.2.4 Discussion: From Prototype to Reality 829
18.3 Summary 830
Index 831

Erscheint lt. Verlag 2.12.2014
Zusatzinfo XXV, 829 p. 624 illus.
Verlagsort Berlin
Sprache englisch
Themenwelt Mathematik / Informatik Informatik
Schlagworte FOAF • Linked Open Data • Ontologies • OWL • RDB2RDF • RDF • Rich Snippets • schema.org • Search Monkey • semantic markup • semantic web • Social Networks • SPARQL • Web Development
ISBN-10 3-662-43796-1 / 3662437961
ISBN-13 978-3-662-43796-4 / 9783662437964
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 47,2 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Konzepte, Methoden, Lösungen und Arbeitshilfen für die Praxis

von Ernst Tiemeyer

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
69,99
Konzepte, Methoden, Lösungen und Arbeitshilfen für die Praxis

von Ernst Tiemeyer

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
69,99
Der Weg zur professionellen Vektorgrafik

von Uwe Schöler

eBook Download (2024)
Carl Hanser Verlag GmbH & Co. KG
29,99