22
Facete Claus Stadler 2015.09.15 GeoLD Workshop Exploring the spatial Web of Data with

Facete - Exploring the web of spatial data with facete

  • Upload
    geoknow

  • View
    732

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Facete - Exploring the web of spatial data with facete

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

Page 2: Facete - Exploring the web of spatial data with facete

2

FaceteA faceted browser for the Web of Data

AgendaAgenda

● MotivationMotivation

● Screenshot of FaceteScreenshot of Facete

● New FeaturesNew Features

● ArchitectureArchitecture

● JassaJassa

● Jassa-UIJassa-UI

● DemoDemo

Page 3: Facete - Exploring the web of spatial data with facete

3

FaceteMotivation

The LinkedGeoData BrowserThe LinkedGeoData Browser

Page 4: Facete - Exploring the web of spatial data with facete

4

FaceteMotivation

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

Page 5: Facete - Exploring the web of spatial data with facete

5

FaceteA faceted browser for the Web of Data

Screenshot of the ApplicationScreenshot of the Application

Page 6: Facete - Exploring the web of spatial data with facete

6

FaceteNew features

Integrated Dataset CatalogIntegrated Dataset Catalog

Page 7: Facete - Exploring the web of spatial data with facete

7

FaceteNew features

RDF EditorRDF Editor

Page 8: Facete - Exploring the web of spatial data with facete

8

Application Container (Tomcat, Jetty, ...)

FaceteArchitecture

ArchitectureArchitecture

Facete

SparqlQuery Cache

Client(Browser)

Server

RemoteSparqlEndpoints

Config

ConceptProperty Path Finder

SpringBatch

SparqlExporter

SpringBatch

JoinSummaries

Facete

Jassa Library Jassa UI LibraryApplication

Logic

EDIT

Page 9: Facete - Exploring the web of spatial data with facete

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-inputng-model=”wkt” rex-literal />

</div>

bower install jassa-ui-angular-edit https://github.com/GeoKnow/Jassa-UI-Angular

Page 10: Facete - Exploring the web of spatial data with facete

10

FaceteArchitecture

Edit WorkflowEdit Workflow

Facete

Sparql Cache

Client(Browser)

Server

RemoteSparqlEndpoints

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

Page 11: Facete - Exploring the web of spatial data with facete

11

FaceteA faceted browser for the Web of Data

The JAvascript Suite for Sparql Access (Jassa) LibraryThe JAvascript Suite for Sparql Access (Jassa) Library

rdfrdf.Node, rdf.NodeFactoryrdf.Tripel, rdf.Graphrdf.vocab.rdf.*, rdf.vocab.rdfs.*

sparql.Element*sparql.Expr*sparql.Concept

RDF core classesand vocabs

SPARQL syntaxclasses

serviceSPARQL serviceclasses

service.SparqlServiceHttpservice.SparqlServiceCacheservice.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()) { /* ... */ } });

Page 12: Facete - Exploring the web of spatial data with facete

12

FaceteA faceted browser for the Web of Data

The JAvascript Suite for Sparql Access (Jassa) LibraryThe JAvascript Suite for Sparql Access (Jassa) Library

sponate sponate.Mapsponate.StoreFacade

facete

SPARQL result setto JSON document mapper

Supports regex search, limit,offset, counting, …on virtual JS documentsrather than raw result set rows

facete.FacetConfigfacete.FacetServicefacete.FacetTreeConfigfacete.FacetTreeService

serviceSPARQL serviceclasses

service.SparqlServiceHttpservice.SparqlServiceCacheservice.ResultSet

Purpose Module Excerpt of important Classes

depends on

depends on

depends on

Faceted Search module

Supports nested facets;regex search, paginationfor both facets and facetvalues

Page 13: Facete - Exploring the web of spatial data with facete

13

FaceteJassa-UI

Jassa-UI - User Interface ComponentsJassa-UI - User Interface Components

Page 14: Facete - Exploring the web of spatial data with facete

14

FaceteDemo

AgendaAgenda

DemoDemo

Page 15: Facete - Exploring the web of spatial data with facete

15

FaceteAchievements

IssuesIssues

● Cannot handle large amounts of geometries

● Large amounts of Geometries supported viaLarge amounts of Geometries supported viaclient 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 matchingthe 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

Page 16: Facete - Exploring the web of spatial data with facete

16

FaceteAchievements

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 labelproperties supported via Sponateproperties supported via Sponate

Page 17: Facete - Exploring the web of spatial data with facete

17

FaceteFuture Work

InterlinkingInterlinking

Page 18: Facete - Exploring the web of spatial data with facete

18

FaceteDemo

The EndThe End

Thank You!Thank You!

Questions?Questions?

Page 19: Facete - Exploring the web of spatial data with facete

19

FaceteLinks

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

Page 20: Facete - Exploring the web of spatial data with facete

20

FaceteProperty 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 whereeach node corresponds to a property, andeach edge corresponds to a connection between these properties

Page 21: Facete - Exploring the web of spatial data with facete

21

FaceteMotivation

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) { /* … */ });});

Page 22: Facete - Exploring the web of spatial data with facete

22

FaceteMotivation

Jassa – Sparql To JavaScript Mapper (Sponate)Jassa – Sparql To JavaScript Mapper (Sponate)

● Inspired by SParql + jsON + hibernATEInspired by SParql + jsON + hibernATEstore = 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) { /* ... */});