SlideShare a Scribd company logo
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
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
Facete
Motivation
The LinkedGeoData BrowserThe LinkedGeoData Browser
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
Facete
A faceted browser for the Web of Data
Screenshot of the ApplicationScreenshot of the Application
6
Facete
New features
Integrated Dataset CatalogIntegrated Dataset Catalog
7
Facete
New features
RDF EditorRDF Editor
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
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
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
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
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
Facete
Jassa-UI
Jassa-UI - User Interface ComponentsJassa-UI - User Interface Components
14
Facete
Demo
AgendaAgenda
DemoDemo
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
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
Facete
Future Work
InterlinkingInterlinking
18
Facete
Demo
The EndThe End
Thank You!Thank You!
Questions?Questions?
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
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
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
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) {
/* ... */
});

More Related Content

Similar to Facete - Exploring the web of spatial data with facete

Scala's evolving ecosystem- Introduction to Scala.js
Scala's evolving ecosystem- Introduction to Scala.jsScala's evolving ecosystem- Introduction to Scala.js
Scala's evolving ecosystem- Introduction to Scala.js
Knoldus Inc.
 
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
Sergio Fernández
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
Leonardo Zanivan
 
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson
GWTcon
 
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
Ryo RKTM
 
Java 8 Lambda
Java 8 LambdaJava 8 Lambda
Java 8 Lambda
François Sarradin
 
DSLs in JavaScript
DSLs in JavaScriptDSLs in JavaScript
DSLs in JavaScript
elliando dias
 
Spark Concepts - Spark SQL, Graphx, Streaming
Spark Concepts - Spark SQL, Graphx, StreamingSpark Concepts - Spark SQL, Graphx, Streaming
Spark Concepts - Spark SQL, Graphx, Streaming
Petr Zapletal
 
When it all GOes right
When it all GOes rightWhen it all GOes right
When it all GOes right
Pavlo Golub
 
The Java alternative to Javascript
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
Manuel Carrasco Moñino
 
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
The Software House
 
Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and Semantics
Tatiana Al-Chueyr
 
WWW2012 Tutorial Visualizing SPARQL Queries
WWW2012 Tutorial Visualizing SPARQL QueriesWWW2012 Tutorial Visualizing SPARQL Queries
WWW2012 Tutorial Visualizing SPARQL Queries
Pablo Mendes
 
Visualizing Web Data Query Results
Visualizing Web Data Query ResultsVisualizing Web Data Query Results
Visualizing Web Data Query Results
Anja Jentzsch
 
Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1) Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1)
Jean Ihm
 
企业级软件的组件化和动态化开发实践
企业级软件的组件化和动态化开发实践企业级软件的组件化和动态化开发实践
企业级软件的组件化和动态化开发实践
Jacky Chi
 
3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k
IBM
 
Rad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh KRad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh K
Roopa Nadkarni
 
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
DataStax Academy
 
Getting Started with Spring for GraphQL
Getting Started with Spring for GraphQLGetting Started with Spring for GraphQL
Getting Started with Spring for GraphQL
VMware Tanzu
 

Similar to Facete - Exploring the web of spatial data with facete (20)

Scala's evolving ecosystem- Introduction to Scala.js
Scala's evolving ecosystem- Introduction to Scala.jsScala's evolving ecosystem- Introduction to Scala.js
Scala's evolving ecosystem- Introduction to Scala.js
 
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
 
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson
 
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
 
Java 8 Lambda
Java 8 LambdaJava 8 Lambda
Java 8 Lambda
 
DSLs in JavaScript
DSLs in JavaScriptDSLs in JavaScript
DSLs in JavaScript
 
Spark Concepts - Spark SQL, Graphx, Streaming
Spark Concepts - Spark SQL, Graphx, StreamingSpark Concepts - Spark SQL, Graphx, Streaming
Spark Concepts - Spark SQL, Graphx, Streaming
 
When it all GOes right
When it all GOes rightWhen it all GOes right
When it all GOes right
 
The Java alternative to Javascript
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
 
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
 
Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and Semantics
 
WWW2012 Tutorial Visualizing SPARQL Queries
WWW2012 Tutorial Visualizing SPARQL QueriesWWW2012 Tutorial Visualizing SPARQL Queries
WWW2012 Tutorial Visualizing SPARQL Queries
 
Visualizing Web Data Query Results
Visualizing Web Data Query ResultsVisualizing Web Data Query Results
Visualizing Web Data Query Results
 
Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1) Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1)
 
企业级软件的组件化和动态化开发实践
企业级软件的组件化和动态化开发实践企业级软件的组件化和动态化开发实践
企业级软件的组件化和动态化开发实践
 
3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k
 
Rad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh KRad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh K
 
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
 
Getting Started with Spring for GraphQL
Getting Started with Spring for GraphQLGetting Started with Spring for GraphQL
Getting Started with Spring for GraphQL
 

More from geoknow

ESTA-LD exploring spatio-temporal linked statistical data
ESTA-LD exploring spatio-temporal linked statistical dataESTA-LD exploring spatio-temporal linked statistical data
ESTA-LD exploring spatio-temporal linked statistical data
geoknow
 
The Linked Data Lifecycle
The Linked Data LifecycleThe Linked Data Lifecycle
The Linked Data Lifecycle
geoknow
 
Towards Transfer Learning of Link Specifications
Towards Transfer Learning of Link SpecificationsTowards Transfer Learning of Link Specifications
Towards Transfer Learning of Link Specifications
geoknow
 
Can we crate better links playing games?
Can we crate better links playing games?Can we crate better links playing games?
Can we crate better links playing games?
geoknow
 
LinkedGeoData and GeoKnow
LinkedGeoData and GeoKnowLinkedGeoData and GeoKnow
LinkedGeoData and GeoKnow
geoknow
 
LinkedGeodata (Deutsch)
LinkedGeodata (Deutsch)LinkedGeodata (Deutsch)
LinkedGeodata (Deutsch)
geoknow
 
Geo know general presentation 2013
Geo know general presentation 2013Geo know general presentation 2013
Geo know general presentation 2013
geoknow
 
Geo know odw13-presentation
Geo know odw13-presentationGeo know odw13-presentation
Geo know odw13-presentation
geoknow
 

More from geoknow (8)

ESTA-LD exploring spatio-temporal linked statistical data
ESTA-LD exploring spatio-temporal linked statistical dataESTA-LD exploring spatio-temporal linked statistical data
ESTA-LD exploring spatio-temporal linked statistical data
 
The Linked Data Lifecycle
The Linked Data LifecycleThe Linked Data Lifecycle
The Linked Data Lifecycle
 
Towards Transfer Learning of Link Specifications
Towards Transfer Learning of Link SpecificationsTowards Transfer Learning of Link Specifications
Towards Transfer Learning of Link Specifications
 
Can we crate better links playing games?
Can we crate better links playing games?Can we crate better links playing games?
Can we crate better links playing games?
 
LinkedGeoData and GeoKnow
LinkedGeoData and GeoKnowLinkedGeoData and GeoKnow
LinkedGeoData and GeoKnow
 
LinkedGeodata (Deutsch)
LinkedGeodata (Deutsch)LinkedGeodata (Deutsch)
LinkedGeodata (Deutsch)
 
Geo know general presentation 2013
Geo know general presentation 2013Geo know general presentation 2013
Geo know general presentation 2013
 
Geo know odw13-presentation
Geo know odw13-presentationGeo know odw13-presentation
Geo know odw13-presentation
 

Recently uploaded

Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 

Recently uploaded (20)

Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 

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
  • 6. 6 Facete New features Integrated Dataset CatalogIntegrated Dataset Catalog
  • 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. 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
  • 13. 13 Facete Jassa-UI Jassa-UI - User Interface ComponentsJassa-UI - User Interface Components
  • 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
  • 18. 18 Facete Demo The EndThe End Thank You!Thank You! Questions?Questions?
  • 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 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) { /* … */ }); });
  • 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) { /* ... */ });