Yu | A Developer's Guide to the Semantic Web | E-Book | www.sack.de
E-Book

E-Book, Englisch, 841 Seiten

Yu A Developer's Guide to the Semantic Web


2. Auflage 2014
ISBN: 978-3-662-43796-4
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 841 Seiten

ISBN: 978-3-662-43796-4
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark



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.

Yu A Developer's Guide to the Semantic Web jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


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



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.