Top Banner
SQUALL: a Controlled Natural Language for Querying and Updating RDF Graphs Sébastien Ferré Team LIS, Data and Knowledge Management, Irisa Controlled Natural Language, 30 August 2012, Zurich
29

SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Jun 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

SQUALL: a Controlled Natural Language forQuerying and Updating RDF Graphs

Sébastien FerréTeam LIS, Data and Knowledge Management, Irisa

Controlled Natural Language, 30 August 2012, Zurich

Page 2: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

The Web of Data

I How to search and explore the Web of data (RDF graphs) ?I How to fill the gap between end users and formal

languages (RDF, OWL, SPARQL) ?

As of September 2010

MusicBrainz

(zitgist)

P20

YAGO

World Fact-book (FUB)

WordNet (W3C)

WordNet(VUA)

VIVO UFVIVO

Indiana

VIVO Cornell

VIAF

URIBurner

Sussex Reading

Lists

Plymouth Reading

Lists

UMBEL

UK Post-codes

legislation.gov.uk

Uberblic

UB Mann-heim

TWC LOGD

Twarql

transportdata.gov

.uk

totl.net

Tele-graphis

TCMGeneDIT

TaxonConcept

The Open Library (Talis)

t4gm

Surge Radio

STW

RAMEAU SH

statisticsdata.gov

.uk

St. Andrews Resource

Lists

ECS South-ampton EPrints

Semantic CrunchBase

semanticweb.org

SemanticXBRL

SWDog Food

rdfabout US SEC

Wiki

UN/LOCODE

Ulm

ECS (RKB

Explorer)

Roma

RISKS

RESEX

RAE2001

Pisa

OS

OAI

NSF

New-castle

LAAS

KISTIJISC

IRIT

IEEE

IBM

Eurécom

ERA

ePrints

dotAC

DEPLOY

DBLP (RKB

Explorer)

Course-ware

CORDIS

CiteSeer

Budapest

ACM

riese

Revyu

researchdata.gov

.uk

referencedata.gov

.uk

Recht-spraak.

nl

RDFohloh

Last.FM (rdfize)

RDF Book

Mashup

PSH

ProductDB

PBAC

Poké-pédia

Ord-nance Survey

Openly Local

The Open Library

OpenCyc

OpenCalais

OpenEI

New York

Times

NTU Resource

Lists

NDL subjects

MARC Codes List

Man-chesterReading

Lists

Lotico

The London Gazette

LOIUS

lobidResources

lobidOrgani-sations

LinkedMDB

LinkedLCCN

LinkedGeoData

LinkedCT

Linked Open

Numbers

lingvoj

LIBRIS

Lexvo

LCSH

DBLP (L3S)

Linked Sensor Data (Kno.e.sis)

Good-win

Family

Jamendo

iServe

NSZL Catalog

GovTrack

GESIS

GeoSpecies

GeoNames

GeoLinkedData(es)

GTAA

STITCHSIDER

Project Guten-berg (FUB)

MediCare

Euro-stat

(FUB)

DrugBank

Disea-some

DBLP (FU

Berlin)

DailyMed

Freebase

flickr wrappr

Fishes of Texas

FanHubz

Event-Media

EUTC Produc-

tions

Eurostat

EUNIS

ESD stan-dards

Popula-tion (En-AKTing)

NHS (EnAKTing)

Mortality (En-

AKTing)Energy

(En-AKTing)

CO2(En-

AKTing)

educationdata.gov

.uk

ECS South-ampton

Gem. Norm-datei

datadcs

MySpace(DBTune)

MusicBrainz

(DBTune)

Magna-tune

John Peel(DB

Tune)

classical(DB

Tune)

Audio-scrobbler (DBTune)

Last.fmArtists

(DBTune)

DBTropes

dbpedia lite

DBpedia

Pokedex

Airports

NASA (Data Incu-bator)

MusicBrainz(Data

Incubator)

Moseley Folk

Discogs(Data In-cubator)

Climbing

Linked Data for Intervals

Cornetto

Chronic-ling

America

Chem2Bio2RDF

biz.data.

gov.uk

UniSTS

UniRef

UniPath-way

UniParc

Taxo-nomy

UniProt

SGD

Reactome

PubMed

PubChem

PRO-SITE

ProDom

Pfam PDB

OMIM

OBO

MGI

KEGG Reaction

KEGG Pathway

KEGG Glycan

KEGG Enzyme

KEGG Drug

KEGG Cpd

InterPro

HomoloGene

HGNC

Gene Ontology

GeneID

GenBank

ChEBI

CAS

Affy-metrix

BibBaseBBC

Wildlife Finder

BBC Program

mesBBC

Music

rdfaboutUS Census

Media

Geographic

Publications

Government

Cross-domain

Life sciences

User-generated content

Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/

Page 3: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Formal vs Natural Languages

I SPARQL: a formal language à la SQLI very expressive and precise for querying and updating RDF

graphsI requires understanding of low-level notions: relational

algebra and logicI natural language interfaces (ex., Aqualog, FREyA)

I good usability through NLI difficult problems: ambiguity and adequacy w.r.t. the

underlying systemI in practice, generally limited to simple questions (much less

expressive than SPARQL)I ex., Aqualog queries are limited to 2-triples queries

Page 4: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Controlled Natural Languages (CNL)

I on the natural/formal continuum [Kaufmann&Bernstein2010]

I combine natural syntax and formal semanticsI “There is no important theoretical difference between

natural languages and the artificial languages of logicians.”(Montague)

I a few CNLs:I ACE [Fuchs et al]: a general purpose CNLI SOS, Rabbit: CNLs for verbalizing OWL axiomsI SQUALL: the first CNL for SPARQL queries and updates

Page 5: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

What SQUALL is not...

1. a pure (grammatically correct) subset of EnglishI natural languages are a source of inspiration for flexibility,

expressiveness, concision, high-level formsI I think that CNLs should be more regular than NLs because

they have to be learnt anyway2. concerned with morphology (lexicon, agreements, etc.)

I should have the same requirements as SPARQL w.r.t. dataI should be able to refer to every resource without preprocessI shares non-ambiguous notations with SPARQL

I author→ hackcraft:authoredBy or purl:author ... ?

3. a user interfaceI querying is difficult, whatever the language

I syntax errors, empty results, preferencesI syntactic guided input (e.g., Ginseng) is not enoughI the objective is semantic guided input (done to a limited

extent in previous work with Sewelis)

Page 6: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

What SQUALL is...?

I an alternative CNL syntax for SPARQLI hence, same expressiveness as SPARQLI hence, full adequacy to RDF dataI with natural high-level syntax

I its implementation is a compiler (3 phases)1. parsing of the source sentence (SQUALL)2. generation of an intermediate representation (Montague

λ-terms)3. production of the target code (SPARQL)

Page 7: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

RDF Graphs

I a RDF graph is a set of triples (labeled edges)I a triple (of resources) has a subject, a predicate, and an

objectI a triple is a basic sentenceI ex., ex:John ex:loves ex:Mary .

I a resource denotes an entity or a concept or a literal value(e.g., numbers, dates, strings)

I a property denotes a binary relation between resourcesI a property can be a transitive verb (ex., ex:loves) or a

relational noun (ex., ex:author)I a class denotes a set of resources

I a class can be a noun (ex., ex:woman) or an intransitiveverb (ex., ex:works)

I properties and classes are resources themselves

Page 8: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

SPARQL 1.1: querying and updating RDF graphs

I SPARQL formsI closed question: ASK graph patternI open question: SELECT vars WHERE graph patternI update: DELETE graph INSERT graph WHERE graphpattern

I graph patternsI relational algebra: joins, unions, complements, selections,

projectionsI constraints: logic, arithmetic, built-insI named graphsI subqueriesI aggregations

Page 9: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

SPARQL query example

SELECT ?rWHERE {

?r rdf:type :researcher .BIND (?r AS ?X)GRAPH :DBLP {

FILTER NOT EXISTS {?p rdf:type :publication .?p :author ?X .?p :year ?y .FILTER (?y >= 2000)FILTER NOT EXISTS {

{ SELECT COUNT(?a) AS ?nWHERE { ?p :author ?a . } }

FILTER (?n >= 2) } } } }

Page 10: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

A Montague grammar of SQUALL

I Syntax and semanticsI Modules:

1. lexical conventions2. triples as sentences3. relational algebra as coordinations4. natural constructs (headed NPs, relatives, ...)5. queries with wh-words6. quantifiers as determiners7. subordination and n-ary predicates with reification8. built-in predicates and aggregations9. resolving syntactic ambiguities

Page 11: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Lexical conventions

The same as in well-known notations (Turtle, SPARQL, N3)I proper nouns, nouns, and verbs (URIs)

I <http://dbpedia.org/resource/Berlin>: a full URIfor the Berlin city

I dbpedia:Berlin: an abbreviated URI with DBpedianamespace

I :Berlin: an abbreviated URI with default namespaceI Berlin: a bare URI (default namespace)

I literalsI "Hello world!": a plain literalI "42"ˆˆxsd:integer: a typed literalI 42: a bare integer

I variables: ?XI grammatical words (SQUALL reserved keywords)

I is, a, which, every, ...

Page 12: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Triples as sentences

S → NP VP { np vp } “[NPA] [VPknow-s B]”NP → Term { λd .(d term) } “A”VP → P1 { λx .(p1 x) } “[P1work-s]”

| P2 NP { λx .(np λy .(p2 x y)) } “[P2know-s] [NPB]”P1 → ClassURI { λx .(type x uri) } “work”P2 → PropertyURI { λx .λy .(stat x uri y) } “know”

Page 13: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Relational algebra as coordinations

They apply to most syntagms ∆: S, NP, VP, P1, P2, (next:Rel , AP, PP).

∆ → not ∆1 { not δ1 } “not [VPknow-s B]”| ∆1 and ∆2 { and δ1 δ2 } “[VPwork-s] and [VPcite-s X]”| ∆1 or ∆2 { or δ1 δ2 } “[NPA] or [NPB]”| maybe ∆1 { option δ1 } “maybe [VPknow-s B]”

Page 14: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Headed NPs

NP → Det NG1 { λd .(det (init ng1) d) } “[Deta] [NG1woman]”| Det NG2 of NP { λd .(np λx .(det (init (ng2 x)) d)) }

“[Det the] [NG2author-s] of [NPX]”Det → a(n) { λd1.λd2.(exists (and d1 d2)) }

| the { λd1.λd2.(the d1 d2) }NG1 → thing AR { and thing ar } “thing [AR that cite-s A]”

| P1 AR { and p1 ar } “[P1woman] [AR?A]”NG2 → P2 AR { λx .λy .(and (p2 x y) (ar y)) }

“[P2author] [AR?A]”AR → App Rel { and app rel } “[App?A] [Rel that X cite-s]”

| App { app }App → URI { λx .(eq x uri) } “A”

| Var { λx .(bind x var) } “?X”| ε { λx .true }

Page 15: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Relatives

Rel → that VP { init vp } “that [VPknow-s B]”| that NP P2 { init λx .(np λy .(p2 y x)) }

“that [NPX] [P2cite-s]”| such that S { init λx .s } “such that [S?A work-s]”| Det NG2 of which VP { init λx .(det (ng2 x) vp) }

“[Detan] [NG2author] of which [VPknow-s B]”| whose NG2 VP ≡ the NG2 of which VP

“whose [NG2author ?A] [VPcites-s a colleague of ?A]”| whose P2 is/are NP { λx .(np λy .(p2 x y)) }

“whose [P2author] [VP is a woman]”

Page 16: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Auxiliary verbs

VP → is/are AP { ap } “is [APa woman]”| is/are Rel { rel } “is [Relsuch that ?A work-s]”| has/have Det P2 AR { λx .(det (p2 x) ar) }

“have [Detan] [P2author] [AR that X cite-s]”AP → Term { λx .(eq x term) } “A”

| a(n)/the NG1 { ng1 } “a [NG1woman]”| a(n)/the NG2 of NP { λx .(np λy .(ng2 y x)) }

“the [NG2author] of [NPX]”

Page 17: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Queries with wh-words

S → whether S1 { ask s1 } “whether [SA know-s a woman]”NP → what ≡ which thing

| whose NG2 ≡ the NG2 of what“whose [NG2author ?A]”

Det → which { λd1.λd2.(select (and d1 d2)) }| how many { λd1.λd2.(count (and d1 d2)) }

Page 18: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Quantifiers as determiners

Not present as such in SPARQL.

Det → some { λd1.λd2.(exists (and d1 d2)) }| every { λd1.λd2.(forall d1 d2) }| no { λd1.λd2.(not (exists (and d1 d2))) }| at least i { λd1.λd2.(atleast i (and d1 d2)) }

S → for NP , S { np λx .s }“for [NPevery publication ?X], [San author of ?X work-s]”

| there is/are NP { np λx .true }“there are [NPat least 3 person-s that know A]”

Page 19: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Subordination and n-ary predicates with reification

NP → that S { λd .λa.λg.(s () λt .(d t a g)) }“that [SA know-s B]”

PP → at/in Prep NP { λs.(np λz.(prep z s)) }“at [Prepplace] [NP the city Rennes]”

| at/in Det Prep AR ≡ at Prep Det thing AR“at [Detsome] [Prepvenue] [ARwhose place is Rennes]”

Rel → at/in which Prep AR S{ init λx .(and (ar x) (prep x s)) }

“in which [Prepgraph] [SA work-s]”Prep → graph { graph } | URI { arg uri }

I Prepositional phrases (PP) can occur at any position of asentence among the subject, verb, and object.

Page 20: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Built-in predicates and aggregations

P1 → Pred1URI { λx .(pred1 uri x) } “Monday”P2 → Pred2URI { λx .λy .(pred2 uri x y) } “match”NG1 → AggregURI of AP (per AP+

i )?{ λx .(aggreg uri x ap (api)i) }“count of [AP the publication ?P] per [AP the year of ?P]”

Page 21: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Translation to SPARQL (principle)

Starting with the λ-term produced when parsing a SQUALLsentence:

1. replace some constants by their definitionI ex., count = λd .(select λx .(aggreg COUNT x d ()))

2. perform all β-reductions on the result3. inductively generate SPARQL code

I 4 generators for: sentences, updates, queries, and graphpatterns

I [ask f ] = ASK { [f ]G }I [select d ] = [?x | d ?x ]QI [forall d1 d2]G = [not (exists (and d1 (not d2)))]GI [the d1 d2]G = [exists (and d1 d2)]GI [the d1 d2]U = [forall d1 d2]U

Page 22: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Translation to SPARQL (example)

The SQUALL sentencefor which researcher-s ?X, in graph DBLP everypublication whose author is ?X and whose year ≥2000 has at least 2 author-s

is parsed as

“[Sfor [NP [Detwhich] [NG1[P1researcher-s] [AR[App?X]]]],[S[PP in [Prepgraph] [NPDBLP]] [S[NP [Detevery]

[NG1[P1publication] [AR[Rel [Relwhose [NG2 [P2author]] [VP is[AP?X]]] and [Relwhose [NG2 [P2year]] [VP [P2≥] [NP2000]]]]]]]

[VPhas [Detat least 2] [P2author-s]]]]]”

Page 23: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Translation to SPARQL (example)

The SQUALL sentencefor which researcher-s ?X, in graph DBLP everypublication whose author is ?X and whose year ≥2000 has at least 2 author-s

is parsed as

“[Sfor [NP [Detwhich] [NG1[P1researcher-s] [AR[App?X]]]],[S[PP in [Prepgraph] [NPDBLP]] [S[NP [Detevery]

[NG1[P1publication] [AR[Rel [Relwhose [NG2 [P2author]] [VP is[AP?X]]] and [Relwhose [NG2 [P2year]] [VP [P2≥] [NP2000]]]]]]]

[VPhas [Detat least 2] [P2author-s]]]]]”

Page 24: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Translation to SPARQL (example)

...whose internal representation is:

(select X (and(triple X rdf:type :researcher)(graph :DBLP

(forall (exists x3 x5 (and(triple x3 rdf:type :publication) (triple x3 :author X )(triple x3 :year x5) (pred2 ≥ x5 2000)))

(exists x6 (and(aggreg COUNT x6 x8 x3

(exists x8 (triple x3 :author x8)))(pred2 ≥ x6 2)))))))

Page 25: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Translation to SPARQL (example)

...which translates to the SPARQL query:

SELECT ?rWHERE {

?r rdf:type :researcher .BIND (?r AS ?X)GRAPH :DBLP {

FILTER NOT EXISTS {?p rdf:type :publication .?p :author ?X .?p :year ?y .FILTER (?y >= 2000)FILTER NOT EXISTS {

{ SELECT COUNT(?a) AS ?nWHERE { ?p :author ?a . } }

FILTER (?n >= 2) } } } }

Page 26: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Implementation

I available as a Web formI See http://www.irisa.fr/LIS/softwares/squall

I developed in OCaml (functional, type safe, concise)I syntax (367 loc), semantics (295 loc), sparql (198 loc)

I extends the paper withI semantic validation: variable scope and binding, semantic

restrictions (e.g., no built-ins in assertions)I arithmetic expressions and function calls (NP, P2, AP)

I “what is the height * width of the rectangle-s whosecolor is red ?”

I quoted NPs as verbs (P1, P2)I “a publication has author a person ?”I “a publication has ’which rdf:Property’ a person ?”

Page 27: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Perspectives as a language

I covering 100% of SPARQL 1.1 (nothing hard)I CONSTRUCT and DESCRIBE formsI query modifiers (ORDER BY, LIMIT, OFFSET)I conditional expressionsI concise notation of RDF collections (list) and membership

testI + type checking in expressions

I adding more natural constructsI anaphoras: e.g., “some man ... this man” instead of “some

man ?X ... ?X”I comparatives and superlativesI adjectives and adverbs (as RDF classes)I more forms of aggregations

I e.g., “what is the average age of the researcher-s ?”

Page 28: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Perspectives as a user interface

I even a CNL is not simple enoughI need for guided input

I syntax-based auto-completion (like in Ginseng)I query-based faceted search (like in Sewelis)

Page 29: SQUALL: a Controlled Natural Language for Querying and ...attempto.ifi.uzh.ch/site/cnl2012/slides/ferre_squall.pdfSemantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout

Thanks!

Questions ?