Facete - Exploring the web of spatial data with facete
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
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
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
Facete
A faceted browser for the Web of Data
Screenshot of the ApplicationScreenshot of the Application
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
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
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
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
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
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
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
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) { /* … */ });
});