Facete - Exploring the web of spatial data with facete

699 views

Published on

Exploring the web of spatial data with facete

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
699
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Facete - Exploring the web of spatial data with facete

  1. 1. Creating Knowledge out of Interlinked Data LOD2 Presentation . 02.09.2010 . Page Facete Claus Stadler 2015.09.15 GeoLD Workshop Exploring the spatial Web of Data with
  2. 2. 2 Facete A faceted browser for the Web of Data AgendaAgenda ● MotivationMotivation ● Screenshot of FaceteScreenshot of Facete ● New FeaturesNew Features ● ArchitectureArchitecture ● JassaJassa ● Jassa-UIJassa-UI ● DemoDemo
  3. 3. 3 Facete Motivation The LinkedGeoData BrowserThe LinkedGeoData Browser
  4. 4. 4 Facete Motivation The LinkedGeoData BrowserThe LinkedGeoData Browser ● ““Naive SPARQL-based” browserNaive SPARQL-based” browser ● Cannot handle large amount of geometriesCannot handle large amount of geometries ● Cannot handle large amounts of featuresCannot handle large amounts of features ● Can only filter by classesCan only filter by classes ● Can only show direct properties of resourcesCan only show direct properties of resources ● Only works for WGS84Only works for WGS84 ● No internationalizationNo internationalization
  5. 5. 5 Facete A faceted browser for the Web of Data Screenshot of the ApplicationScreenshot of the Application
  6. 6. 6 Facete New features Integrated Dataset CatalogIntegrated Dataset Catalog
  7. 7. 7 Facete New features RDF EditorRDF Editor
  8. 8. 8 Application Container (Tomcat, Jetty, ...) Facete Architecture ArchitectureArchitecture Facete Sparql Query Cache Client (Browser) Server Remote Sparql Endpoints Config Concept Property Path Finder Spring Batch Sparql Exporter Spring Batch Join Summaries Facete Jassa Library Jassa UI Library Application Logic EDIT
  9. 9. RDF Editing on the Web 1. Annotate your HTML 3. Get live feeback of the RDF and changes 2. Interact with your pre-filled form Claus Stadler, Natanael Arndt, Michael Martin and Jens Lehmann <div rex-subject=”dbr:Vienna” rex-predicate=”geo:geometry”> <rdf-term-input ng-model=”wkt” rex-value=”wkt” /> <geometry-input ng-model=”wkt” rex-literal /> </div> bower install jassa-ui-angular-edit https://github.com/GeoKnow/Jassa-UI-Angular
  10. 10. 10 Facete Architecture Edit WorkflowEdit Workflow Facete Sparql Cache Client (Browser) Server Remote Sparql Endpoints Facete UI Component Reset form to pristine Invalidate server side cache Invalidate client side cache Create a new SparqlService object will refresh client components and edit forms Sparql Service UI Component RDF Editor Sparql Cache Sparql Service https://github.com/GeoKnow/DataDrivenDependencyInjection-Angular
  11. 11. 11 Facete A faceted browser for the Web of Data The JAvascript Suite for Sparql Access (Jassa) LibraryThe JAvascript Suite for Sparql Access (Jassa) Library rdf rdf.Node, rdf.NodeFactory rdf.Tripel, rdf.Graph rdf.vocab.rdf.*, rdf.vocab.rdfs.* sparql.Element* sparql.Expr* sparql.Concept RDF core classes and vocabs SPARQL syntax classes service SPARQL service classes service.SparqlServiceHttp service.SparqlServiceCache service.ResultSet Purpose Module Excerpt of important Classes sparql depends on depends on sparqlService = new service.SparqlServiceHttp('http://dbpedia.org/sparql' ['http://dbpedia.org']); sparqlService = new service.SparqlServiceCache(sparqlService); sparqlService = new service.SparqlServiceVirtFix(sparqlService); sparqlService = new service.SparqlServicePaginate(sparqlService, 1000); sparqlService = new service.SparqlServicePageExpand(sparqlService, 100); var qe = sparqlService.createQueryExecution('Select * { ?s ?p ?o } Limit 10' qe.setTimeout(5000); qe.execSelect().then(function(rs) { while(rs.hasNext()) { /* ... */ } });
  12. 12. 12 Facete A faceted browser for the Web of Data The JAvascript Suite for Sparql Access (Jassa) LibraryThe JAvascript Suite for Sparql Access (Jassa) Library sponate sponate.Map sponate.StoreFacade facete SPARQL result set to JSON document mapper Supports regex search, limit, offset, counting, … on virtual JS documents rather than raw result set rows facete.FacetConfig facete.FacetService facete.FacetTreeConfig facete.FacetTreeService service SPARQL service classes service.SparqlServiceHttp service.SparqlServiceCache service.ResultSet Purpose Module Excerpt of important Classes depends on depends on depends on Faceted Search module Supports nested facets; regex search, pagination for both facets and facet values
  13. 13. 13 Facete Jassa-UI Jassa-UI - User Interface ComponentsJassa-UI - User Interface Components
  14. 14. 14 Facete Demo AgendaAgenda DemoDemo
  15. 15. 15 Facete Achievements IssuesIssues ● Cannot handle large amounts of geometries ● Large amounts of Geometries supported viaLarge amounts of Geometries supported via client side Sparql-based clustering using bounding boxesclient side Sparql-based clustering using bounding boxes ● Cannot handle large amounts of features ● Intensional description of the set of resources matchingIntensional description of the set of resources matching the facet constraints enables paginationthe facet constraints enables pagination ● Can only filter by classes ● Can filter by values of any propertyCan filter by values of any property
  16. 16. 16 Facete Achievements IssuesIssues ● Can only show direct properties of resources ● Can show values of indirectly related (inverse) propertiesCan show values of indirectly related (inverse) properties ● Only works for WGS84 ● Geometry Literals (GeoSPARQL / Virtuoso), WGS84, GeoRSSGeometry Literals (GeoSPARQL / Virtuoso), WGS84, GeoRSS ● Indirection supportedIndirection supported ● No internationalization ● Preferred languages and labelPreferred languages and label properties supported via Sponateproperties supported via Sponate
  17. 17. 17 Facete Future Work InterlinkingInterlinking
  18. 18. 18 Facete Demo The EndThe End Thank You!Thank You! Questions?Questions?
  19. 19. 19 Facete Links Related LinksRelated Links ● http://facete.aksw.org/http://facete.aksw.org/ ● https://github.com/GeoKnow/Facete2https://github.com/GeoKnow/Facete2 JavaScript ComponentsJavaScript Components ● https://github.com/GeoKnow/Jassahttps://github.com/GeoKnow/Jassa ● https://github.com/GeoKnow/Jassa-UI-Angularhttps://github.com/GeoKnow/Jassa-UI-Angular Java ComponentsJava Components ● https://github.com/AKSW/jena-sparql-apihttps://github.com/AKSW/jena-sparql-api
  20. 20. 20 Facete Property Path Finding Concept Property Path Finding (Sketch)Concept Property Path Finding (Sketch) ({?s a Project}, ?s) ({?s long ?x ; lat ?y}, ?s) Create a graph where each node corresponds to a property, and each edge corresponds to a connection between these properties
  21. 21. 21 Facete Motivation Jassa – Faceted Browsing Module (Facete-Module)Jassa – Faceted Browsing Module (Facete-Module) var facetConfig = new facete.FacetConfig(); var constraintPath = facete.Path.parse('http://www.w3.org/1999/02/22- rdf-syntax-ns#type'); facetConfig.getConstraintManager().addConstraint( new facete.ConstraintEquals(constraintPath, rdf.NodeFactory.createUri('http://fp7- pp.publicdata.eu/ontology/Project'))); var facetValueService = new facete.FacetValueService(sparqlService, facetConfig, 5000000); var path = facete.Path.parse('http://fp7- pp.publicdata.eu/ontology/funding http://fp7- pp.publicdata.eu/ontology/partner http://fp7- pp.publicdata.eu/ontology/address http://fp7- pp.publicdata.eu/ontology/country'); facetValueService.prepareListService(path).then(function(ls) { ls.fetchItems().then(function(items) { /* … */ }); });
  22. 22. 22 Facete Motivation Jassa – Sparql To JavaScript Mapper (Sponate)Jassa – Sparql To JavaScript Mapper (Sponate) ● Inspired by SParql + jsON + hibernATEInspired by SParql + jsON + hibernATE store = new sponate.StoreFacade(sparqlService, { 'rdf': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' /* ... */ }); store.addMap({ name: 'castles', template: [{ id: '?s', displayLabel: { $ref: { target: 'labels', attr: 'displayLabel' }} }], from: '?s a dbpedia-owl:Castle' }); store.addMap({ name: 'labels', template: [{ id: '?s', displayLabel: new AggBestLabel('s', 'p', 'o', ['en', 'de', ''], ['skos:prefLabel', 'rdfs:label', 'doap:name']), hiddenLabels: ['?o'] }], from: '?s ?p ?o . Filter(?p In (skos:prefLabel, rdfs:label, doap:name))' }); store.castles.find().limit(10).list().then(function(castles) { /* ... */ });

×