fire_phoenix_1001
03-12-2011, 21:15
Contents
Preface
. xv
Acknowledgments
. xxi
The Author
.xxiii
PART 1 The World of the Semantic Web . 1
Chapter 1 From Traditional Web to Semantic Web . 3
1.1 What Is WWW? . 3
1.1.1 How Are We Using the Internet? 3
1.1.1.1 Search 3
1.1.1.2 Integration . 4
1.1.1.3 Web Data Mining . 5
1.1.2 What Stops Us from Doing More? . 6
1.2 A First Look at the Semantic Web 8
1.3 An Introduction to Metadata . 10
1.3.1 The Basic Concept of Metadata 10
1.3.2 Metadata Considerations 13
1.3.2.1 Embedding the Metadata in Your Page 13
1.3.2.2 Using Metadata Tools to Add Metadata
to Existing Pages 13
1.3.2.3 Using a Text-Parsing Crawler to Create Metadata 14
Chapter 2 Search Engines in Both Traditional and Semantic Web Environments 17
2.1 Search Engine for the Traditional Web . 17
2.1.1 Building the Index Table . 17
2.1.2 Conducting the Search . 20
2.1.3 Additional Details 21
2.2 Search Engine for the Semantic Web: A Hypothetical Example . 24
2.2.1 A Hypothetical Usage of the Traditional Search Engine 24
2.2.2 Building a Semantic Web Search Engine 25
2.2.3 Using the Semantic Web Search Engine . 32
2.3 Further Considerations . 34
2.3.1 Web Page Markup Problem . 34
2.3.2 “Common Vocabulary” Problem . 34
2.3.3 Quer y-Building Problem 35
2.4 The Semantic Web: A Summary . 35
2.5 What Is the Key to Semantic Web Implementation? 36
PART 2
The Nuts and Bolts of Semantic Web
Technology 37
Chapter 3 The Building Block of the Semantic Web: RDF 39
3.1 Overview: What Is RDF? 39
3.2 The Basic Elements of RDF 40
3.2.1 Resource . 40
3.2.2 Property 41
3.2.3 Statement 42
3.3 RDF Triples: Knowledge That Machines Can Use . 43
3.4 A Closer Look at RDF 44
3.4.1 Basic Syntax and Examples . 44
3.4.2 Literal Values and Anonymous Resources 50
3.4.3 Other RDF Capabilities . 56
3.5 Fundamental Rules of RDF . 57
3.6 Aggregation and Distributed Information . 60
3.6.1 An Example of Aggregation 60
3.6.2 A Hypothetical Real-World Example 61
3.7 More about RDF 65
3.7.1 The Relationship between DC and RDF . 65
3.7.2 The Relationship between XML and RDF . 67
3.8 RDF Tools 69
Chapter 4 RDFS, Taxonomy, and Ontology . 73
4.1 Overview: Why We Need RDFS . 73
4.2 RDFS + RDF: One More Step toward Machine-Readability . 74
4.3 Core Elements of RDFS 76
4.3.1 Syntax and Examples . 76
4.3.2 More about Properties 86
4.3.3 XML Schema and RDF Schema . 88
4.4 The Concepts of Ontology and Taxonomy . 89
4.4.1 What Is Ontology? . 89
4.4.2 Our
Camera
Ontology 90
4.4.3 The Benefits of Ontology 92
4.5 Another Look at Inferencing Based on RDF Schema 92
4.5.1 Simple, Yet Powerful . 92
4.5.2 Good, Better and Best: More Is Needed . 94
Chapter 5 Web Ontology Language: OWL 95
5.1 Using OWL to Define Classes: Localize Global Properties . 95
5.1.1
owl:allValuesFrom
. 97
5.1.2 Enhanced Reasoning Power 1 . 99
5.1.3
owl:someValuesFrom
and
owl:hasValue
99
5.1.4 Enhanced Reasoning Power 2 . 101
5.1.5 Cardinality Constraints 102
5.1.6 Enhanced Reasoning Power 3 . 103
5.1.7 Updating Our
Camera
Ontology 104
5.2 Using OWL to Define Class: Set Operators and Enumeration 106
5.2.1 Set Operators 106
5.2.2 Enumerations 106
5.3 Using OWL to Define Properties: A Richer Syntax for More
Reasoning Power 107
5.4 Using OWL to Define Properties: Property Characteristics . 111
5.4.1 Symmetric Properties . 111
5.4.2 Enhanced Reasoning Power 4 . 111
5.4.3 Transitive Properties 112
5.4.4 Enhanced Reasoning Power 5 . 112
5.4.5 Functional Properties . 113
5.4.6 Enhanced Reasoning Power 6 . 114
5.4.7 Inverse Property . 115
5.4.8 Enhanced Reasoning Power 7 . 115
5.4.9 Inverse Functional Property . 116
5.4.10 Enhanced Reasoning Power 8 . 116
5.4.11 Summary and Comparison 117
5.5 Ontology Matching and Distributed Information 118
5.5.1 Defining Equivalent and Disjoint Classes . 118
5.5.2 Distinguishing Instances in Different RDF documents 120
5.6 OWL Ontology Header 121
5.7 Final
Camera
Ontology Rewritten in OWL 122
5.7.1
Camera
Ontology . 122
5.7.2 Semantics of the OWL Camera Ontology 126
5.8 Three Faces of OWL . 128
5.8.1 Why Do We Need This? 128
5.8.2 The Three Faces . 129
5.8.2.1 OWL Full 129
5.8.2.2 OWL DL . 129
5.8.2.3 OWL Lite 130
Chapter 6 Validating Your OWL Ontology 131
6.1 Related Development Tools . 131
6.2 Validate OWL Ontology by Using Web Utilities 133
6.2.1 Using the “OWL Ontology Validator” 134
6.2.2 What the Results Mean 134
6.3 Using Programming APIs to Understand OWL Ontology . 138
6.3.1 Jena . 139
6.3.2 Examples 140
PART 3 The Semantic Web: Real-World Examples and Applications . 143
Chapter 7 Swoogle: A Search Engine for Semantic Web Documents 145
7.1 What Is Swoogle and What Is It Used for? 145
7.1.1 Searching Appropriate Ontologies for Reuse 146
7.1.2 Finding Specific Instance Data 146
7.1.3 Navigation in the Semantic Web . 146
7.2 A Close Look inside Swoogle . 147
7.2.1 Swoogle Architecture . 147
7.2.2 The Discovery of SWDs 148
7.2.3 The Collection of Metadata . 149
7.2.4 The Calculation of Rankings Using Metadata 150
7.2.5 The Indexation and Retrieval of SWDs 150
7.3 Examples of Using Swoogle . 151
Chapter 8 FOAF: Friend of a Friend 159
8.1 What FOAF Is and What It Does 159
8.2 Basic FOAF Vocabulary and Examples 161
8.3 Creating Your FOAF Document and Getting into the Circle . 165
8.3.1 How Does the Circle Work? 165
8.3.2 Creating Your FOAF Document 166
8.3.3 Getting into the Circle: Publishing Your FOAF Document 167
8.4 Updating Our Camera Ontology Using FOAF Vocabulary 169
Chapter 9 Mark Up Your Web Document, Please! 173
9.1 Semantic Markup: A Connection between Two Worlds . 173
9.1.1 What Is Semantic Markup? . 173
9.1.2 The Procedure of Semantic Markup 174
9.2 Marking up Your Document Manually 175
9.3 Marking up Your Document by Using Tools 181
9.4 Semantic Markup Issues 184
9.4.1 Who and Why? 184
9.4.2 Is Automatic Markup Possible? . 184
9.4.3 Centralized or Decentralized? 184
Chapter 10 Semantic Web Search Engine Revisited: A Prototype System . 187
10.1 Why Search Engines Again . 187
10.2 Why Traditional Search Engines Fail 188
10.3 The Design of the Semantic Web Search Engine Prototype 189
10.3.1 Query Processing: The User Interface . 189
10.3.2 The Discovery Strategy: More Focused Crawling 190
10.3.3 The Indexation Strategy: Vertical and Horizontal . 192
10.3.3.1 Vertical Indexation 192
10.3.3.2 Horizontal Indexation . 197
10.4 Using the Prototype System 200
10.5 Why This Prototype Search Engine Provides Better Performance 201
10.6 A Suggestion for Possible Implementation . 204
PART 4 From The Semantic Web to Semantic Web Services 205
Chapter 11 From Web Services to Semantic Web Services 207
11.1 Web Service and Web Service Standards 207
11.1.1 Describe Your Web Service: WSDL 208
11.1.2 Exchange Data Freely: SOAP . 214
11.1.3 Typical Activity Flow for Web Services . 216
11.2 From Web Services to Semantic Web Services 216
11.2.1 UDDI: A Registry of Web Services 216
11.2.2 Using UDDI to Discover Web Services 224
11.2.2.1 Adding Categorization Information
to the Service Type . 224
11.2.2.2 Adding Identification Information
to the Service Type . 229
11.2.3 The Need for Semantic Web Services . 229
Chapter 12 OWL-S: An Upper Ontology to Describe Web Services 233
12.1 What is Upper Ontology? 233
12.2 The Concept of OWL-S . 234
12.2.1 Overview of OWL-S 234
12.2.2 How Does OWL-S Meet Expectations? 235
12.3 OWL-S Building Blocks 236
12.3.1 OWL-S
Profile
Ontology 236
12.3.2 OWL-S
Process
Ontology . 243
12.3.3 OWL-S
Grounding
Ontology . 248
12.4 Validating Your OWL-S Documents 254
12.5 Where Are the Semantics? . 254
Chapter 13 Adding Semantics to Web Service Descriptions . 257
13.1 WSDL-S . 257
13.1.1 WSDL-S Overview 257
13.1.2 WSDL-S Annotations 258
13.1.3 WSDL-S and UDDI . 262
13.2 OWL-S to UDDI Mapping 263
13.2.1 More About UDDI
tModel
s 263
13.2.1.1
tModel
and Interface Representation . 264
13.2.1.2
tModel
and Categorization to Facilitate
Discovery of Web Services 265
13.2.1.3
tModel
and Namespace Representation 265
13.2.2 Mapping OWL-S Profile Information into the UDDI Registry 268
13.2.3 Issues of Mapping OWL-S Profile Information
into UDDI Registry 271
13.3 Matchmaking Engines 272
Chapter 14 A Search Engine for Semantic Web Services . 275
14.1 The Need for Such a Search Engine . 275
14.2 Design of the Search Engine . 277
14.2.1 Architecture of the Search Engine 277
14.2.2 Individual Components 277
14.2.3 A Matchmaking Algorithm 280
14.3 Implementation Details 284
14.3.1 Housekeeping Work . 284
14.3.1.1 A Seed URL for the Web Crawler . 284
14.3.1.2 Utility Classes . 286
14.3.2 Implementation of the Semantic Service Description Crawler 290
14.3.3 Implementation of the Semantic Service Description
Repository 298
14.3.4 Implementation of the Searching Functionalities 306
14.3.4.1 Suggested Architecture for Testing 306
14.3.4.2 Implementation of the Server-Side Searching
Components 308
14.4 Usage Example of the Semantic Web Service Search Engine . 314
14.4.1 Running the Crawler 315
14.4.2 Querying the Search Engine 315
Chapter 15 Summary and Further Exploration 321
15.1 What Have We Learned? . 321
15.1.1 The Concept of the Semantic Web 321
15.1.2 The Full Technical Foundation for the Semantic Web . 322
15.1.3 Real-World Examples and Applications of the Semantic Web . 322
15.1.4 From the Semantic Web to Semantic Web Services . 323
15.2 Further Reading for Going Further . 325
15.2.1 Further Readings on the Semantic Web 325
15.2.2 Further Readings on Semantic Web Services . 326
References
. 329
Index
333
Preface
. xv
Acknowledgments
. xxi
The Author
.xxiii
PART 1 The World of the Semantic Web . 1
Chapter 1 From Traditional Web to Semantic Web . 3
1.1 What Is WWW? . 3
1.1.1 How Are We Using the Internet? 3
1.1.1.1 Search 3
1.1.1.2 Integration . 4
1.1.1.3 Web Data Mining . 5
1.1.2 What Stops Us from Doing More? . 6
1.2 A First Look at the Semantic Web 8
1.3 An Introduction to Metadata . 10
1.3.1 The Basic Concept of Metadata 10
1.3.2 Metadata Considerations 13
1.3.2.1 Embedding the Metadata in Your Page 13
1.3.2.2 Using Metadata Tools to Add Metadata
to Existing Pages 13
1.3.2.3 Using a Text-Parsing Crawler to Create Metadata 14
Chapter 2 Search Engines in Both Traditional and Semantic Web Environments 17
2.1 Search Engine for the Traditional Web . 17
2.1.1 Building the Index Table . 17
2.1.2 Conducting the Search . 20
2.1.3 Additional Details 21
2.2 Search Engine for the Semantic Web: A Hypothetical Example . 24
2.2.1 A Hypothetical Usage of the Traditional Search Engine 24
2.2.2 Building a Semantic Web Search Engine 25
2.2.3 Using the Semantic Web Search Engine . 32
2.3 Further Considerations . 34
2.3.1 Web Page Markup Problem . 34
2.3.2 “Common Vocabulary” Problem . 34
2.3.3 Quer y-Building Problem 35
2.4 The Semantic Web: A Summary . 35
2.5 What Is the Key to Semantic Web Implementation? 36
PART 2
The Nuts and Bolts of Semantic Web
Technology 37
Chapter 3 The Building Block of the Semantic Web: RDF 39
3.1 Overview: What Is RDF? 39
3.2 The Basic Elements of RDF 40
3.2.1 Resource . 40
3.2.2 Property 41
3.2.3 Statement 42
3.3 RDF Triples: Knowledge That Machines Can Use . 43
3.4 A Closer Look at RDF 44
3.4.1 Basic Syntax and Examples . 44
3.4.2 Literal Values and Anonymous Resources 50
3.4.3 Other RDF Capabilities . 56
3.5 Fundamental Rules of RDF . 57
3.6 Aggregation and Distributed Information . 60
3.6.1 An Example of Aggregation 60
3.6.2 A Hypothetical Real-World Example 61
3.7 More about RDF 65
3.7.1 The Relationship between DC and RDF . 65
3.7.2 The Relationship between XML and RDF . 67
3.8 RDF Tools 69
Chapter 4 RDFS, Taxonomy, and Ontology . 73
4.1 Overview: Why We Need RDFS . 73
4.2 RDFS + RDF: One More Step toward Machine-Readability . 74
4.3 Core Elements of RDFS 76
4.3.1 Syntax and Examples . 76
4.3.2 More about Properties 86
4.3.3 XML Schema and RDF Schema . 88
4.4 The Concepts of Ontology and Taxonomy . 89
4.4.1 What Is Ontology? . 89
4.4.2 Our
Camera
Ontology 90
4.4.3 The Benefits of Ontology 92
4.5 Another Look at Inferencing Based on RDF Schema 92
4.5.1 Simple, Yet Powerful . 92
4.5.2 Good, Better and Best: More Is Needed . 94
Chapter 5 Web Ontology Language: OWL 95
5.1 Using OWL to Define Classes: Localize Global Properties . 95
5.1.1
owl:allValuesFrom
. 97
5.1.2 Enhanced Reasoning Power 1 . 99
5.1.3
owl:someValuesFrom
and
owl:hasValue
99
5.1.4 Enhanced Reasoning Power 2 . 101
5.1.5 Cardinality Constraints 102
5.1.6 Enhanced Reasoning Power 3 . 103
5.1.7 Updating Our
Camera
Ontology 104
5.2 Using OWL to Define Class: Set Operators and Enumeration 106
5.2.1 Set Operators 106
5.2.2 Enumerations 106
5.3 Using OWL to Define Properties: A Richer Syntax for More
Reasoning Power 107
5.4 Using OWL to Define Properties: Property Characteristics . 111
5.4.1 Symmetric Properties . 111
5.4.2 Enhanced Reasoning Power 4 . 111
5.4.3 Transitive Properties 112
5.4.4 Enhanced Reasoning Power 5 . 112
5.4.5 Functional Properties . 113
5.4.6 Enhanced Reasoning Power 6 . 114
5.4.7 Inverse Property . 115
5.4.8 Enhanced Reasoning Power 7 . 115
5.4.9 Inverse Functional Property . 116
5.4.10 Enhanced Reasoning Power 8 . 116
5.4.11 Summary and Comparison 117
5.5 Ontology Matching and Distributed Information 118
5.5.1 Defining Equivalent and Disjoint Classes . 118
5.5.2 Distinguishing Instances in Different RDF documents 120
5.6 OWL Ontology Header 121
5.7 Final
Camera
Ontology Rewritten in OWL 122
5.7.1
Camera
Ontology . 122
5.7.2 Semantics of the OWL Camera Ontology 126
5.8 Three Faces of OWL . 128
5.8.1 Why Do We Need This? 128
5.8.2 The Three Faces . 129
5.8.2.1 OWL Full 129
5.8.2.2 OWL DL . 129
5.8.2.3 OWL Lite 130
Chapter 6 Validating Your OWL Ontology 131
6.1 Related Development Tools . 131
6.2 Validate OWL Ontology by Using Web Utilities 133
6.2.1 Using the “OWL Ontology Validator” 134
6.2.2 What the Results Mean 134
6.3 Using Programming APIs to Understand OWL Ontology . 138
6.3.1 Jena . 139
6.3.2 Examples 140
PART 3 The Semantic Web: Real-World Examples and Applications . 143
Chapter 7 Swoogle: A Search Engine for Semantic Web Documents 145
7.1 What Is Swoogle and What Is It Used for? 145
7.1.1 Searching Appropriate Ontologies for Reuse 146
7.1.2 Finding Specific Instance Data 146
7.1.3 Navigation in the Semantic Web . 146
7.2 A Close Look inside Swoogle . 147
7.2.1 Swoogle Architecture . 147
7.2.2 The Discovery of SWDs 148
7.2.3 The Collection of Metadata . 149
7.2.4 The Calculation of Rankings Using Metadata 150
7.2.5 The Indexation and Retrieval of SWDs 150
7.3 Examples of Using Swoogle . 151
Chapter 8 FOAF: Friend of a Friend 159
8.1 What FOAF Is and What It Does 159
8.2 Basic FOAF Vocabulary and Examples 161
8.3 Creating Your FOAF Document and Getting into the Circle . 165
8.3.1 How Does the Circle Work? 165
8.3.2 Creating Your FOAF Document 166
8.3.3 Getting into the Circle: Publishing Your FOAF Document 167
8.4 Updating Our Camera Ontology Using FOAF Vocabulary 169
Chapter 9 Mark Up Your Web Document, Please! 173
9.1 Semantic Markup: A Connection between Two Worlds . 173
9.1.1 What Is Semantic Markup? . 173
9.1.2 The Procedure of Semantic Markup 174
9.2 Marking up Your Document Manually 175
9.3 Marking up Your Document by Using Tools 181
9.4 Semantic Markup Issues 184
9.4.1 Who and Why? 184
9.4.2 Is Automatic Markup Possible? . 184
9.4.3 Centralized or Decentralized? 184
Chapter 10 Semantic Web Search Engine Revisited: A Prototype System . 187
10.1 Why Search Engines Again . 187
10.2 Why Traditional Search Engines Fail 188
10.3 The Design of the Semantic Web Search Engine Prototype 189
10.3.1 Query Processing: The User Interface . 189
10.3.2 The Discovery Strategy: More Focused Crawling 190
10.3.3 The Indexation Strategy: Vertical and Horizontal . 192
10.3.3.1 Vertical Indexation 192
10.3.3.2 Horizontal Indexation . 197
10.4 Using the Prototype System 200
10.5 Why This Prototype Search Engine Provides Better Performance 201
10.6 A Suggestion for Possible Implementation . 204
PART 4 From The Semantic Web to Semantic Web Services 205
Chapter 11 From Web Services to Semantic Web Services 207
11.1 Web Service and Web Service Standards 207
11.1.1 Describe Your Web Service: WSDL 208
11.1.2 Exchange Data Freely: SOAP . 214
11.1.3 Typical Activity Flow for Web Services . 216
11.2 From Web Services to Semantic Web Services 216
11.2.1 UDDI: A Registry of Web Services 216
11.2.2 Using UDDI to Discover Web Services 224
11.2.2.1 Adding Categorization Information
to the Service Type . 224
11.2.2.2 Adding Identification Information
to the Service Type . 229
11.2.3 The Need for Semantic Web Services . 229
Chapter 12 OWL-S: An Upper Ontology to Describe Web Services 233
12.1 What is Upper Ontology? 233
12.2 The Concept of OWL-S . 234
12.2.1 Overview of OWL-S 234
12.2.2 How Does OWL-S Meet Expectations? 235
12.3 OWL-S Building Blocks 236
12.3.1 OWL-S
Profile
Ontology 236
12.3.2 OWL-S
Process
Ontology . 243
12.3.3 OWL-S
Grounding
Ontology . 248
12.4 Validating Your OWL-S Documents 254
12.5 Where Are the Semantics? . 254
Chapter 13 Adding Semantics to Web Service Descriptions . 257
13.1 WSDL-S . 257
13.1.1 WSDL-S Overview 257
13.1.2 WSDL-S Annotations 258
13.1.3 WSDL-S and UDDI . 262
13.2 OWL-S to UDDI Mapping 263
13.2.1 More About UDDI
tModel
s 263
13.2.1.1
tModel
and Interface Representation . 264
13.2.1.2
tModel
and Categorization to Facilitate
Discovery of Web Services 265
13.2.1.3
tModel
and Namespace Representation 265
13.2.2 Mapping OWL-S Profile Information into the UDDI Registry 268
13.2.3 Issues of Mapping OWL-S Profile Information
into UDDI Registry 271
13.3 Matchmaking Engines 272
Chapter 14 A Search Engine for Semantic Web Services . 275
14.1 The Need for Such a Search Engine . 275
14.2 Design of the Search Engine . 277
14.2.1 Architecture of the Search Engine 277
14.2.2 Individual Components 277
14.2.3 A Matchmaking Algorithm 280
14.3 Implementation Details 284
14.3.1 Housekeeping Work . 284
14.3.1.1 A Seed URL for the Web Crawler . 284
14.3.1.2 Utility Classes . 286
14.3.2 Implementation of the Semantic Service Description Crawler 290
14.3.3 Implementation of the Semantic Service Description
Repository 298
14.3.4 Implementation of the Searching Functionalities 306
14.3.4.1 Suggested Architecture for Testing 306
14.3.4.2 Implementation of the Server-Side Searching
Components 308
14.4 Usage Example of the Semantic Web Service Search Engine . 314
14.4.1 Running the Crawler 315
14.4.2 Querying the Search Engine 315
Chapter 15 Summary and Further Exploration 321
15.1 What Have We Learned? . 321
15.1.1 The Concept of the Semantic Web 321
15.1.2 The Full Technical Foundation for the Semantic Web . 322
15.1.3 Real-World Examples and Applications of the Semantic Web . 322
15.1.4 From the Semantic Web to Semantic Web Services . 323
15.2 Further Reading for Going Further . 325
15.2.1 Further Readings on the Semantic Web 325
15.2.2 Further Readings on Semantic Web Services . 326
References
. 329
Index
333