Four Design Patterns - or How I learned to stop worrying and love the semantic web
TPR / 11:45 am / Monday
Brian Panulla @bpanulla
Why new web?
The SW is INFRASTRUCTURE.
- a parallel information architecture for smarter apps
- web content, pages and sites DO NOT need to change to be made ready for the 3.0 Webs
Three things the semantic web is NOT (kinda)
it is NOT semantic HTML (thats a collision of terminology … this is a different semantic)
- Zeldman says WRITE semantic HTML (use lists, use container p, use headers properly, don’t use presentational markup, don’t use br for padding and no tables for non-tabular data)
- it’s NOT Warmed-over Artificial Intelligence
- it’s NOT magic
(showing XKCD comic #773 about things on the front page of university websites — vs thins people go to the site looking for). Everything on the right is semantic stuff!
explicit meaning of symbols
- words - usage, connotation
- images - symbolism
- become really useful when shared
semantics differs from SYNTAX
rules of how symbols (words, letters, pictures) can be arranged.
- I love Sushi.
- I (heart symbol) sushi.
- I love Sushi, but not in that way.
- And who or what is “Sushi”?
- rules of how symbols (words, letters, pictures) can be arranged.
RDF: Resource Description Framework
RDF is fundamental knowledge representation
- declares resources
- specifies properties of resources
What is a resource?
- EVERYTHING is a resource… even properties.
resources are identified by a Uniform Resource Identifier (URI)
- can also be round in your XHTML DTD and html tag’s xmlns attribute
- resources are identified by a Uniform Resource Identifier (URI)
RDF is expressed as triples:
- subject (“Penn State”)
- predicate (“is a”)
- object (“University”)
- subject (“Brian Panulla”)
- predicate (“presented at”)
- object (“High Ed Web Conference”)
- Example 1
Triples to Graphs
- see how data is related
- RDF is expressed as triples:
- RDF is fundamental knowledge representation
- where schemas describe structure, ontologies describe meaning or intended use
- OWL adds more expressiveness and many aspects of formal logic to RDF
On Design Patterns
- Inspired by book Design Patterns: Elements of Reusable Object-Oriented Software
- Architectural patterns like MVC
Linked Data: Use Cases
- Publish/Syndicate complete information sets
- Embedded explicit semantics, unique identifiers
- have minimal impact to other Web information publishing
- may be static or dynamically generated
- GeoNames (geonames.org)
- DBPedia (dbpedia.org)
- Open Rubrics
The Linked Data Cloud
- https://richard.evganiak.de/2007_10_lod (not sure on this URL …. )
- access control can be difficult for sensitive or confidential
- damaging to proprietary intellectual property
- serialized data: XML, JSON, CSV (common, structural not semantic)
- Best Buy and Overstock have started tagging their products in RDFa
XHTML required for RDFa validation
- new DOCTYPE
- XML MIME type
- XHTML required for RDFa validation
- microformats (not discoverable)
- HTML5 Data attributes - application-level semantics only
- HTML5 Microdata - easier to read, more verbose elements
- Manipulate linked data in a rich client
- generate multiple presentational forms
- i.e. Open Rubric Builder
- processing/bandwidth resources constrained
- client libraries still maturing
- constraints of accessibility requirements
- AJAX, AHAH, JSON
SEMANTIC WEB APPLICATIONS
- Domains where schemas/models change rapidly or data is sparse
- Semantics of relational model inadequates (e.g. inferencing, inheritance)
Domains emphasizing relationships
- social networks
- database tuned for graphs of RDF statements
- sometimes a Quad Store (provenance)
- Popular - Jena, AllegroGraph, Virtuoso
- bad for opaque objects with few relationships
- large sets of homogenous objects
- NoSQL (document dbs, key/value stores, graph databases)
- query language for RDF docs
- grabs all subjects, predicates and objects from RDF document
- queries are similar to mysql
Higher Education Use Cases
- Degree Requirements based on class listings
- Talk to Brian about other use cases … we ran out of time!!