Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Grails And The Semantic Web

2,813 views

Published on

In this presentation, we describe the underlying principles of the Semantic Web along with the core concepts and technologies, how they fit in with the Grails Framework and any existing tools, API\'s and Implementations.

  • Be the first to comment

Grails And The Semantic Web

  1. 1. Grails and the Semantic Web 19/09/2011
  2. 2. Common Misconceptions• Is bleeding edge and still experimental• Has been around a while and isn’t working• Has a high learning curve and adoption cost• Is all about unstructured content, nlp and SEO• Semantic Web data integration is all about query federation (EII) and never about warehousing/ETL
  3. 3. Use Cases• Query federation• Linking data• Inferring new data• Data management
  4. 4. Core Concepts• HTTP / URI’s• RDF• RDFS, OWL etc.• SPARQL• RDFa
  5. 5. RDF• Triples or quads• N3/Turtle, XML, RDFj (JSON)@prefix gr: <http://purl.org/goodrelations/v1#> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.@prefix dc: <http://purl.org/dc/elements/1.1/>.@prefix innovation: <http://purl.org/innovation/ns#>.@prefix ex: <http://www.example.com/>.@prefix dbpedia: <http://dbpedia.org/resource/>.@prefix ncicb: <http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#>.ex:glucose-monitor dc:title "Non invasive testing of blood glucose levels"; innovation:embodiedBy ex:lein-2000; innovation:hasImprovement <uuid:aaaaaaaa>.ex:lein-2000 dc:title "The Lein 2000 blood glucose meter"; rdf:type gr:ProductOrServiceModel; rdf:type innovation:Embodiment; rdf:type ncicb:Diagnostic_Therapeutic_and_Research_Equipment; innovation:hasUsage <uuid:bbbbbbbb>.<uuid:bbbbbbbb> innovation:usedBy dbpedia:Physician; innovation:usedOn ex:Diabetics.<uuid:aaaaaaaa> innovation:improvesEffectivenessOf dbpedia:Medical_Test
  6. 6. SPARQL• SPARQL 1.1 Query• SPARQL 1.1 Update• SPARQL 1.1 Protocol for RDF• SPARQL 1.1 Graph Store HTTP Protocol• SPARQL 1.1 Entailment Regimes• SPARQL 1.1 Service Description• SPARQL 1.1 Federation Extensions
  7. 7. Alignment with GrailsGORM RDF RDFS SPARQLGSP’s RDFa
  8. 8. Tools / API’s / Plugins• Jena/Sesame• Groovy SPARQL• RDFa Plugin• Triplestores
  9. 9. Jena / Sesame• RDF/RDFS/OWL Libraries• Ontology + Reasoning• SPARQL libraries• Development level triplestores
  10. 10. Groovy SPARQL• Fluent DSL, leveraging Groovy 1.8 features• Pure Java "Templates" for Jena/SPARQL similar to JdbcTemplate/jmsTemplate in Spring• Object marshalling and GORM / Spring Data support• Sparql / RDF Builder• Grails plug-in
  11. 11. RDFa Plugin
  12. 12. Triple Stores• 4Store• Virtuoso – Native JDBC Driver• Stardog – DataSouce and DataSourceFactoryBean for managing Stardog connections – SnarlTemplate for transaction- and connection-pool safe Stardog programming – DataImporter for easy bootstrapping of input data into Stardog
  13. 13. Known Issues• Support for SPARQL 1.1• Reasoning• Compliance

×