commit b0409f429449a747103318ff212a7ce77848b23a
Author: Antoine Amarilli <a3nm@a3nm.net>
Date: Thu, 31 Dec 2020 19:51:23 +0100
import from previous repository
Diffstat:
.gitignore | | | 13 | +++++++++++++ |
authors | | | 189 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
make.sh | | | 16 | ++++++++++++++++ |
make_talks_html.py | | | 380 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
makereviews.py | | | 124 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
maketex.py | | | 201 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
parserec.py | | | 217 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
publis | | | 538 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
publist_en.tex | | | 48 | ++++++++++++++++++++++++++++++++++++++++++++++++ |
publist_fr.tex | | | 48 | ++++++++++++++++++++++++++++++++++++++++++++++++ |
reviews | | | 65 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
talks | | | 680 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
venues | | | 503 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
13 files changed, 3022 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -0,0 +1,13 @@
+__pycache__/
+*.aux
+*.blg
+*.bbl
+*.fls
+*.out
+*.fdb_latexmk
+main.log
+main.pdf
+publist_fr.log
+publist_fr.pdf
+publist_en.log
+publist_en.pdf
diff --git a/authors b/authors
@@ -0,0 +1,189 @@
+Id: me
+Name: Antoine Amarilli
+Url: https://a3nm.net/
+
+Id: silviu
+Name: Silviu Maniu
+Url: http://silviu.maniu.info/
+
+Id: mikael
+Name: Mikaël Monet
+Url: http://mikael-monet.net/
+
+Id: luis
+Name: Luis Galárraga
+Url: http://luisgalarraga.de/
+
+Id: simon
+Name: Simon Razniewski
+Url: http://www.simonrazniewski.com/
+
+Id: fabian
+Name: Fabian M. Suchanek
+Url: https://suchanek.name/
+
+Id: michael
+Name: Michael Benedikt
+Url: https://www.cs.ox.ac.uk/michael.benedikt/
+
+Id: michaelvdb
+Name: Michael Vanden Boom
+Url: https://www.cs.ox.ac.uk/people/michael.vandenboom/
+
+Id: pierreb
+Name: Pierre Bourhis
+Url: http://cristal.univ-lille.fr/~bourhis/
+
+Id: pierre
+Name: Pierre Senellart
+Url: http://pierre.senellart.com/
+
+Id: lamine
+Name: M. Lamine Ba
+Url: https://sites.google.com/a/uadb.edu.sn/mlba/
+
+Id: daniel
+Name: Daniel Deutch
+Url: http://www.cs.tau.ac.il/~danielde/
+
+Id: yael
+Name: Yael Amsterdamer
+Url: https://u.cs.biu.ac.il/~amstery/
+
+Id: tova
+Name: Tova Milo
+Url: http://www.cs.tau.ac.il/~milo/
+
+Id: mehryar
+Name: Mehryar Mohri
+Url: http://cs.nyu.edu/cs/faculty/mohri/
+
+Id: cyril
+Name: Cyril Allauzen
+Url: http://research.google.com/pubs/author130.html
+
+Id: marcb
+Name: Marc Beunardeau
+Url: http://dblp.uni-trier.de/pers/hd/b/Beunardeau:Marc
+
+Id: remi
+Name: Rémi Géraud
+Url: http://www.ens-paris.fr/index.php/2-uncategorised/5-remi-geraud
+
+Id: david
+Name: David Naccache
+Url: https://www.di.ens.fr/DavidNaccache.html
+
+Id: aliaksandr
+Name: Aliaksandr Talaika
+Url: http://dblp.uni-trier.de/pers/hd/t/Talaika:Aliaksandr
+
+Id: joanna
+Name: Joanna Biega
+Url: http://people.mpi-inf.mpg.de/~jbiega/
+
+Id: ruiming
+Name: Ruiming Tang
+Url: https://web.archive.org/web/20150811141628/http://www.comp.nus.edu.sg/~tang1987/
+
+Id: stephane
+Name: Stéphane Bressan
+Url: http://www.comp.nus.edu.sg/~steph/
+
+Id: nicoleta
+Name: Nicoleta Preda
+Url: http://www.prism.uvsq.fr/~preda/
+
+Id: fabrice
+Name: Fabrice Ben Hamouda
+Url: https://www.normalesup.org/~fbenhamo/
+
+Id: florian
+Name: Florian Bourse
+Url: https://www.di.ens.fr/~fbourse/
+
+Id: robin
+Name: Robin Morisset
+Url: https://dblp.org/pid/45/8730.html
+
+Id: pablo
+Name: Pablo Rauzy
+Url: https://pablo.rauzy.name/
+
+Id: marilena
+Name: Marilena Oita
+Url: http://dblp.uni-trier.de/pers/hy/o/Oita:Marilena.html
+
+Id: marc
+Name: Marc Jeanmougin
+Url: https://marc.jeanmougin.fr/
+
+Id: emil
+Name: Emil Simion
+Url: http://dblp.org/pers/hy/s/Simion:Emil.html
+
+Id: danielp
+Name: Daniel Page
+Url: http://www.cs.bris.ac.uk/~page/
+
+Id: sascha
+Name: Sascha Müller
+Url: http://saschamueller.com/
+
+Id: michaelt
+Name: Michael Tunstall
+Url: http://dblp.uni-trier.de/pers/hd/t/Tunstall:Michael
+
+Id: smengel
+Name: Stefan Mengel
+Url: http://www.cril.univ-artois.fr/~mengel/
+
+Id: ljachiet
+Name: Louis Jachiet
+Url: https://louis.jachiet.com/
+
+Id: cpaperman
+Name: Charles Paperman
+Url: https://www.irif.fr/~paperman/
+
+Id: mniewerth
+Name: Matthias Niewerth
+Url: http://www.theoinf.uni-bayreuth.de/en/team/niewerth_matthias/index.php
+
+Id: fcapelli
+Name: Florent Capelli
+Url: http://florent.capelli.me/
+
+Id: ashih
+Name: Andy Shih
+Url: https://dblp.uni-trier.de/pers/hd/s/Shih:Andy
+
+Id: gbroeck
+Name: Guy Van den Broeck
+Url: https://web.cs.ucla.edu/~guyvdb/
+
+Id: pbeame
+Name: Paul Beame
+Url: https://homes.cs.washington.edu/~beame/beame.html
+
+Id: iceylan
+FirstName: İsmail İlkan
+LastName: Ceylan
+Url: https://www.cs.ox.ac.uk/people/ismail.ceylan/
+
+Id: bkimelfeld
+Name: Benny Kimelfeld
+Url: http://www.cs.technion.ac.il/people/bennyk/
+
+Id: rdupre
+Name: Rémi Dupré
+Url: https://github.com/remi-dupre
+
+Id: jromero
+Name: Julien Romero
+Url: https://julien-romero.fr/
+
+Id: odrien
+Name: Osnat Drien
+Url: https://dblp.uni-trier.de/pid/261/2018.html
+
diff --git a/make.sh b/make.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+set -e
+
+./maketex.py en
+./maketex.py en bib all > main.bib
+./maketex.py en tex > selectpubli_en.tex
+./make_talks_html.py authors venues publis talks
+./makereviews.py en tex > reviews.tex
+./makereviews.py en html > reviews_en.html
+./makereviews.py fr html > reviews_fr.html
+
+# must do the following, otherwise the numbering is off
+rm -f publist_{fr,en}.{pdf,aux,bbl,blg}
+latexmk -f -pdf publist_fr
+latexmk -f -pdf publist_en
diff --git a/make_talks_html.py b/make_talks_html.py
@@ -0,0 +1,380 @@
+#!/usr/bin/python3
+
+import os
+from parserec import parse, stz, getvenue, isurlrel, getyear, endswithpunct, authorname
+import datetime
+import sys
+
+if __name__ == '__main__':
+ now = datetime.datetime.now()
+ dnow = (now.year, now.month, now.day)
+
+ # http://stackoverflow.com/a/1432949
+ abspath = os.path.abspath(__file__)
+ dname = os.path.dirname(abspath)
+ os.chdir(dname)
+
+ # arguments are: authors venues publis talks
+ authorsfn, venuesfn, publisfn, talksfn = sys.argv[1:]
+
+ authorsz = dict((x['id'], x) for x in parse(authorsfn))
+ venuesz = dict((x['id'], x) for x in parse(venuesfn))
+
+def mkyearsep(lastyear, year):
+ s = ''
+ if lastyear:
+ s += '</ul>\n\n'
+ s += ('## %d\n\n<ul>' % year)
+ return s
+
+def mklink(text, obj, pref=''):
+ if pref + 'url' in obj.keys():
+ return '<a href="%s">%s</a>' % (obj[pref + 'url'], text)
+ return text
+
+def makeauthor(aid, links=True):
+ global authorsz
+ aid = ''.join(c for c in aid if c.isalnum())
+ a = authorsz[aid]
+ if links:
+ return mklink(authorname(a), a)
+ else:
+ return authorname(a)
+
+def maketitle(publi, prefix):
+ urltext = ''
+ if 'url' in publi.keys():
+ urltext = ' href="%s"' % (prefix + publi['url'])
+ return ('<a class="papertitle"%s>%s</a>%s<br/>'
+ % (urltext, publi['title'], "" if endswithpunct(publi) else "."))
+
+def makevenue2(venue, typ, url, issue, links=True):
+ urltext = ''
+ if url:
+ urltext = ' href="%s"' % url
+ issuetext = ''
+ if len(issue) > 0:
+ issuetext = ', %s' % issue
+ if len(urltext) > 0 and links:
+ return ('<a%s>%s</a>%s' % (urltext, venue, issuetext))
+ return (venue + issuetext)
+
+def makevenue(publi, lang, links=True):
+ global venuesz
+ venue, typ, url, issue, keywords = getvenue(publi, lang, venuesz)
+ return makevenue2(venue, typ, url, issue, links=links)
+
+def makesuppl(publi, lang, ismain=False):
+ global stz
+ global authorsz
+ l = []
+ if 'conferenceversion' in publi.keys() and not ismain:
+ l.append('<a href="%s">%s</a>' %
+ ("#" + publi['conferenceversion'],
+ stz['conferenceversion'][lang]))
+ if 'journalversion' in publi.keys() and not ismain:
+ l.append('<a href="%s">%s</a>' %
+ ("#" + publi['journalversion'],
+ stz['journalversion'][lang]))
+ for key in ['slides', 'slideslong', 'poster', 'video', 'code']:
+ if key in publi.keys():
+ if key == 'video' and 'videoplatform' in publi.keys():
+ s = stz['video'][lang]
+ else:
+ s = '<a href="%s">%s</a>' % (publi[key], stz[key][lang])
+ if key + 'author' in publi.keys():
+ raw_author = publi[key + 'author']
+ s += " %s %s" % (stz['by'][lang], (' ' + stz['and'][lang] + ' ').join(makeauthor(x) for
+ x in raw_author.split(' ')))
+ if key == 'video' and 'videoplatform2' in publi.keys():
+ s += (' %s <a href="%s">%s</a> %s <a href="%s">%s</a> %s <a href="%s">%s</a>' %
+ (stz['on'][lang], publi['videoexternal'],
+ publi['videoplatform'],
+ stz['oron'][lang], publi['videoexternal2'],
+ publi['videoplatform2'],
+ stz['orin'][lang],
+ publi['video'], stz['direct download'][lang]))
+ elif key == 'video' and 'videoplatform' in publi.keys():
+ s += (' %s <a href="%s">%s</a> %s <a href="%s">%s</a>' %
+ (stz['on'][lang], publi['videoexternal'],
+ publi['videoplatform'], stz['orin'][lang],
+ publi['video'], stz['direct download'][lang]))
+
+ l.append(s)
+ if 'errata' in publi.keys():
+ msg = "errata"
+ link = "/publications/"
+ if lang == 'fr':
+ msg = "erreurs identifiées (en anglais)"
+ link += "index.html"
+ s = '<a class="errata" href="%s#%s_errata">%s</a>' % (link, publi['id'], msg)
+ l.append(s)
+
+ misck = 'misc' + lang
+ if misck in publi.keys():
+ l.append(publi[misck])
+ return ', '.join(l)
+
+def maketalktitle(talk, prefix, lang):
+ urltext = ''
+ if 'url' in talk.keys():
+ urltext = ' href="%s"' % (prefix + talk['url'])
+ title = talk['title']
+ localk = 'title' + lang
+ if localk in talk.keys():
+ # override for language-specific title
+ title = talk[localk]
+ return ('<a%s>%s</a>%s<br/>' % (urltext, title, "" if endswithpunct(talk) else "."))
+
+def findfrom(talk, venueo, key, items, lang):
+ lkey = key + lang
+ if lkey in talk.keys():
+ items.append(mklink(talk[lkey], talk, key))
+ elif key in talk.keys():
+ items.append(mklink(talk[key], talk, key))
+ elif venueo and lkey in venueo.keys():
+ items.append(mklink(venueo[lkey], venueo, key))
+ elif venueo and key in venueo.keys():
+ items.append(mklink(venueo[key], venueo, key))
+
+if __name__ == '__main__':
+ # write publication lists
+ for lang in ['en', 'fr']:
+ fmain = open('publis_main.html.' + lang, 'w')
+ fall = open('publis_all.html.' + lang, 'w')
+ lastyear = None
+ for publi in parse(publisfn):
+ print(publi['id'])
+ year = getyear(publi)
+
+ # all publis should have a URL, but sometimes they don't
+ assert('url' in publi.keys())
+ if publi['url'].lower() == 'none':
+ del publi['url']
+
+ outlist = set()
+ if 'venue' in publi.keys():
+ outlist.add(fall)
+ else:
+ outlist.add(fmain)
+ if 'main' in publi.keys() and publi['main'] != 'no':
+ assert(publi['main'] == 'yes')
+ outlist.add(fmain)
+
+ for fout in outlist:
+ myid = publi['id']
+ myoldid = None
+ try:
+ myoldid = publi['oldid']
+ except KeyError:
+ pass
+ authors = publi['authors'].split(' ')
+ reviewed = False
+ if 'reviewed' in publi.keys() and publi['reviewed'] != 'no':
+ assert(publi['reviewed'] == 'yes')
+ reviewed = True
+ prefix = ""
+ if fout == fmain:
+ if 'url' in publi.keys() and isurlrel(publi['url']):
+ prefix = "publications/"
+ if fout == fall:
+ if year != lastyear:
+ print(mkyearsep(lastyear, year), file=fout)
+ lastyear = year
+ print('<li id="%s">' % myid, file=fout)
+ if myoldid:
+ for myoldid1 in myoldid.split(' '):
+ print('<a id="%s"></a>' % myoldid1, file=fout)
+ print(',\n'.join(makeauthor(a) for a in authors) + '.<br/>',
+ file=fout)
+ print(maketitle(publi, prefix), file=fout)
+ print(makevenue(publi, lang) + '.', file=fout, end="")
+ hadbr = False
+ if 'type' in publi.keys() and publi['type'] in ['demo',
+ 'spotlight', 'shortpaper', 'posterpaper']:
+ print(' ' + stz[publi['type']][lang] + '.', file=fout, end='')
+ suppl = makesuppl(publi, lang, True if fout == fmain else False)
+ if len(suppl) > 0:
+ hadbr = True
+ print("\n", file=fout, end="")
+ print('[%s]' % suppl, file=fout, end="")
+ if 'award' in publi.keys():
+ awardk = 'award' + lang
+ val = publi['award']
+ if awardk in publi.keys():
+ val = publi[awardk]
+ print('. %s.' % val, file=fout, end="")
+ if fout == fall:
+ if not reviewed:
+ print(' (*)', file=fout, end="")
+ print('\n</li>', file=fout)
+
+ print('</ul>', file=fall)
+ fall.close()
+ fmain.close()
+
+ # write text publication list
+ for lang in ['en', 'fr']:
+ ftext = open('publis_' + lang + ".txt", 'w')
+ # lastyear = None
+ for publi in parse(publisfn):
+ print(publi['id'])
+ year = getyear(publi)
+
+ # all publis should have a URL, but sometimes they don't
+ assert('url' in publi.keys())
+ if publi['url'].lower() == 'none':
+ del publi['url']
+
+ outlist = set()
+ if 'venue' in publi.keys():
+ outlist.add(fall)
+ else:
+ outlist.add(fmain)
+ if 'main' in publi.keys() and publi['main'] != 'no':
+ assert(publi['main'] == 'yes')
+ outlist.add(fmain)
+
+ myid = publi['id']
+ myoldid = None
+ try:
+ myoldid = publi['oldid']
+ except KeyError:
+ pass
+ authors = publi['authors'].split(' ')
+ reviewed = False
+ if 'reviewed' in publi.keys() and publi['reviewed'] != 'no':
+ assert(publi['reviewed'] == 'yes')
+ reviewed = True
+ prefix = ""
+ if 'url' in publi.keys() and isurlrel(publi['url']):
+ prefix = "https://a3nm.net/publications/"
+ print(', '.join(makeauthor(a, links=False) for a in authors),
+ file=ftext)
+ print(publi['title'], file=ftext)
+ if 'status' in publi.keys() and publi['status'] == 'submitted':
+ print('Preprint', file=ftext)
+ else:
+ print(makevenue(publi, lang, links=False), file=ftext, end="")
+ if not reviewed:
+ assert (lang in ['en', 'fr'])
+ if lang == 'en':
+ print(' (not peer-reviewed)', file=ftext)
+ else: # lang == 'fr':
+ print(' (non relu par les pairs)', file=ftext)
+ else:
+ print("", file=ftext)
+ if 'url' in publi.keys():
+ print(prefix + publi['url'] if isurlrel(publi['url']) else
+ publi['url'], file=ftext)
+ print("", file=ftext)
+
+ ftext.close()
+
+
+
+ # write talks list
+
+ # num of last talks
+ LIMIT = 5
+
+ for lang in ['en', 'fr']:
+ flast = open('talks_last.html.' + lang, 'w')
+ fall = open('talks_all.html.' + lang, 'w')
+ lastdate = None
+ lastyear = None
+ num_per_day = 1
+ in_last = 0
+ for talk in parse(talksfn):
+ date = talk['date']
+ assert(len(date) == 4 + 1 + 2 + 1 + 2)
+ print(date)
+ year = int(date[:4])
+ assert(date[4] == '-')
+ month = int(date[5:7])
+ assert(date[7] == '-')
+ day = int(date[8:10])
+ datet = (year, month, day)
+ # file should be in sorted order!
+ assert(not lastdate or datet <= lastdate)
+ if lastdate == datet:
+ num_per_day += 1
+ else:
+ num_per_day = 1
+ lastdate = datet
+
+ outlist = set()
+ if dnow >= datet:
+ # past talk
+ outlist.add(fall)
+ if dnow < datet:
+ # future talk
+ outlist.add(flast)
+ if in_last < LIMIT:
+ in_last += 1
+ outlist.add(flast)
+
+ for fout in outlist:
+ if fout == fall:
+ if year != lastyear:
+ print(mkyearsep(lastyear, year), file=fout)
+ lastyear = year
+ prefix = ""
+ if fout == flast:
+ if 'url' in talk.keys() and isurlrel(talk['url']):
+ prefix = "work/talks/"
+
+ venueo = None
+ if 'venue' in talk.keys() and talk['venue'] in venuesz.keys():
+ venueo = venuesz[talk['venue']]
+
+ ddate = date
+ if num_per_day > 1:
+ ddate += ("_%d" % num_per_day)
+ print('<li id="t%s">' % ddate, file=fout)
+ if 'status' in talk.keys() and talk['status'] == "canceled":
+ print ("<del>", file=fout)
+ print(maketalktitle(talk, prefix, lang), file=fout)
+
+ items = []
+ if 'type' in talk.keys():
+ items.append(stz[talk['type']][lang])
+
+ if 'venue' in talk.keys() or ('venue' + lang) in talk.keys():
+ itmvenue = makevenue(talk, lang)
+ if '>$TEAM' in itmvenue:
+ # at the beginning, avoid nested links
+ team = mklink(talk['team'], talk, 'team')
+ itmvenue = itmvenue.replace("$TEAM ", "")
+ itmvenue = team + " " + itmvenue
+ if '$TEAM<' in itmvenue:
+ # at the end, avoid nested links
+ team = mklink(talk['team'], talk, 'team')
+ itmvenue = itmvenue.replace(" $TEAM", "")
+ itmvenue = itmvenue + " " + team
+ if '$TEAM' in itmvenue:
+ team = mklink(talk['team'], talk, 'team')
+ itmvenue = itmvenue.replace("$TEAM", team)
+ items.append(itmvenue)
+
+ findfrom(talk, venueo, 'place', items, lang)
+ findfrom(talk, venueo, 'location', items, lang)
+
+ items.append(talk['date'])
+
+ items[0] = items[0][0].upper() + items[0][1:]
+
+ print(', '.join(items) + '.', file=fout)
+ if 'status' in talk.keys() and talk['status'] == "canceled":
+ print ("</del>", file=fout)
+ if 'misc' in talk.keys() or 'misc' + lang in talk.keys():
+ if 'misc' + lang in talk.keys():
+ print('[%s]' % talk['misc'+lang], file=fout)
+ else:
+ print('[%s]' % talk['misc'], file=fout)
+ print('</li>', file=fout)
+
+ print('</ul>', file=fall)
+ fall.close()
+ flast.close()
+
diff --git a/makereviews.py b/makereviews.py
@@ -0,0 +1,124 @@
+#!/usr/bin/python3
+# arguments: maketex.py LANGUAGE [FORMAT [PUBLICATION [FOLDER]]]
+# LANGUAGE is "en" (default) or "fr"
+# FORMAT is "tex" (default) or "bib"
+# PUBLICATION is the id of the publication to compile, or:
+# - "all" for all publications
+# - "cv" for all CV publications: all publications that are main, reviewed, not
+# hidden (default)
+# FOLDER is where to find "publis" "venues" "authors", default is script dir
+
+from parserec import parse, isurlrel, absurl, getyear, endswithpunct, mkvenuename
+from make_talks_html import makevenue2
+from maketex import venuetotex
+import os
+import sys
+
+if len(sys.argv) > 5:
+ print("too many arguments", file=sys.stderr)
+ sys.exit(1)
+
+lang = "en"
+try:
+ lang = sys.argv[1]
+except IndexError:
+ pass
+
+fmt = 'tex'
+try:
+ fmt = sys.argv[2]
+except IndexError:
+ pass
+
+thepubli = None
+try:
+ thepubli = sys.argv[3]
+except IndexError:
+ pass
+
+# http://stackoverflow.com/a/1432949
+abspath = os.path.abspath(__file__)
+dname = os.path.dirname(abspath)
+
+folder = dname
+try:
+ folder = sys.argv[4]
+except IndexError:
+ pass
+os.chdir(dname)
+
+venuesz = dict((x['id'], x) for x in parse('venues'))
+
+def getmisc(review):
+ misck = 'misc' + lang
+ if misck in review.keys():
+ return " (%s)" % review[misck]
+ return ""
+
+def tex_emifjournal(venuename, venue):
+ if venue['type'] == 'journal':
+ return "\\emph{%s}" % venuename
+ return venuename
+
+def reviewtotex(x):
+ review, venue = x
+ ans = venuetotex(tex_emifjournal(mkvenuename(venue, short=True), venue), venue['url'], None)
+ return ans + getmisc(review)
+
+def reviewtohtml(x):
+ review, venue = x
+ ans = makevenue2(mkvenuename(venue), venue['type'] if 'type' in venue.keys()
+ else '', venue['url'], "")
+ return ans + getmisc(review)
+
+venues = {}
+
+pc = []
+journal_misc = []
+other_misc = []
+
+term = {
+ 'en':
+ {
+ 'pc': "PC member",
+ 'spc': "Senior PC member",
+ 'pc_demos': "(demos)",
+ 'misc': "Misc reviews",
+ },
+ 'fr':
+ {
+ 'pc': "Comité de programme",
+ 'spc': "Membre senior du comité de programme",
+ 'pc_demos': "(démonstrations)",
+ 'misc': "Relectures diverses",
+ },
+ }
+
+for review in parse('reviews'):
+ venue = venuesz[review['id']]
+ if 'oa' in venue.keys() and venue['oa'] == 'no':
+ continue # don't boast about reviewing for non-OA venues
+ if review['role'] in ['pc', 'spc']:
+ pc.append((review, venue))
+ elif review['role'] == 'pc_demos':
+ other_misc.append((review, venue)) # demo PC counted as misc for simplicity
+ else:
+ assert(review['role'] == 'misc')
+ if venue['type'] == 'journal':
+ journal_misc.append((review, venue))
+ else:
+ assert(venue['type'] in ['conference', 'workshop'])
+ other_misc.append((review, venue))
+
+if fmt == 'tex':
+ print("\\cvitem{%s}{%s}" % (term[lang]['pc'],
+ ", ".join(reviewtotex(x) for x in pc)))
+ print("\\cvitem{%s}{%s}" % (term[lang]['misc'],
+ ", ".join(reviewtotex(x) for x in journal_misc + other_misc)))
+else:
+ assert(fmt == 'html')
+ print("<dt>%s</dt><dd>%s</dd>" % (term[lang]['pc'],
+ ",\n".join(reviewtohtml(x) for x in pc)))
+ print("<dt>%s</dt><dd>%s</dd>" % (term[lang]['misc'],
+ ",\n".join(reviewtohtml(x) for x in journal_misc + other_misc)))
+
diff --git a/maketex.py b/maketex.py
@@ -0,0 +1,201 @@
+#!/usr/bin/python3
+# arguments: maketex.py LANGUAGE [FORMAT [PUBLICATION [FOLDER]]]
+# LANGUAGE is "en" (default) or "fr"
+# FORMAT is "tex" (default) or "bib"
+# PUBLICATION is the id of the publication to compile, or:
+# - "all" for all publications
+# - "cv" for all CV publications: all publications that are main, reviewed, not
+# hidden (default)
+# FOLDER is where to find "publis" "venues" "authors", default is script dir
+
+from parserec import parse, getvenue, isurlrel, absurl, getyear, endswithpunct, authorname, stz
+import os
+import sys
+
+SITEURL="https://a3nm.net"
+LOCALURL=SITEURL+"/publications/"
+
+if len(sys.argv) > 5:
+ print("too many arguments", file=sys.stderr)
+ sys.exit(1)
+
+lang = "en"
+try:
+ lang = sys.argv[1]
+except IndexError:
+ pass
+
+fmt = 'tex'
+try:
+ fmt = sys.argv[2]
+except IndexError:
+ pass
+
+thepubli = None
+try:
+ thepubli = sys.argv[3]
+except IndexError:
+ pass
+
+# http://stackoverflow.com/a/1432949
+abspath = os.path.abspath(__file__)
+dname = os.path.dirname(abspath)
+
+folder = dname
+try:
+ folder = sys.argv[4]
+except IndexError:
+ pass
+os.chdir(dname)
+
+authorsz = dict((x['id'], x) for x in parse('authors'))
+venuesz = dict((x['id'], x) for x in parse('venues'))
+
+def mklinktex(text, url, sep=""):
+ global SITEURL, LOCALURL
+ if not url or url == "none":
+ return (text)
+ url = url.replace("_", "\\_").replace("%", "\%") # naive escaping
+ return ('\\href{%s}%s{%s}' % (absurl(url, SITEURL, LOCALURL), sep, text))
+
+def authortotex(author, withurl=False, sepnames=False):
+ if withurl:
+ return mklinktex(authorname(author, sepnames=sepnames), author['url'])
+ else:
+ return authorname(author, sepnames=sepnames)
+
+def venuetotex(venue, url, issue, dropyear=False):
+ if dropyear and "'" in venue:
+ venue = venue.split("'")[0]
+ try:
+ if dropyear and venue[-4:].isdigit() and venue[-5] == ' ':
+ venue = venue[:-5]
+ except IndexError:
+ pass
+ if issue and not dropyear:
+ venue += ', %s' % issue
+ l = mklinktex(venue, url)
+ if ' ' not in venue:
+ return '\\mbox{%s}' % l
+ return l
+
+def publitotex(publi, lang, venuesz, authorsz):
+ name, typ, url, issue, keywords = getvenue(publi, lang, venuesz, True)
+ authors = ', '.join(authortotex(authorsz[author], withurl=True)
+ for author in publi['authors'].split(' '))
+ return("\\cvitem{\\bfseries %s}{%s.\\newline\\emph{%s}%s%s}" % (venuetotex(name, url,
+ issue), authors, mklinktex(publi['title'], publi['url']), "" if
+ endswithpunct(publi) else ".", "\\newline "
+ + (publi['awardtex'] if 'awardtex' in publi.keys() else publi['award']) if 'award' in publi.keys() else ''))
+
+typetobibtype = {
+ 'journal': 'article',
+ 'conference': 'inproceedings',
+ 'patent': 'misc',
+ 'draft': 'unpublished',
+ 'phdthesis': 'phdthesis',
+ 'mscthesis': 'mastersthesis',
+ 'demo': 'inproceedings',
+ 'spotlight': 'inproceedings',
+ 'posterpaper': 'inproceedings',
+ 'shortpaper': 'inproceedings',
+ 'note': 'unpublished',
+ 'submitted': 'unpublished',
+ }
+typetoobjtype = {
+ 'journal': 'journal',
+ 'conference': 'booktitle',
+ 'demo': 'booktitle',
+ 'spotlight': 'booktitle',
+ 'posterpaper': 'booktitle',
+ 'shortpaper': 'booktitle',
+ 'patent': 'howpublished',
+ 'draft': 'howpublished',
+ 'note': 'howpublished',
+ 'submitted': 'note',
+ }
+legaltypes = ['phdthesis', 'patent', 'mscthesis', 'journal', 'conference',
+ 'note', 'demo', 'posterpaper', 'shortpaper', 'spotlight']
+informaltypes = ['phdthesis', 'mscthesis', 'note']
+
+def publitobib(publi, lang, venuesz, authorsz):
+ global typetobibtype, typetoobjtype, legaltypes, SITEURL, LOCALURL
+ global informaltypes
+ global stz
+ name, typ2, url, issue, keywords = getvenue(publi, lang, venuesz)
+ s = ""
+ typ = publi.get('type', None)
+ if typ == None or len(typ) == 0:
+ if typ2 == None or len(typ2) == 0:
+ typ = 'conference'
+ else:
+ typ = typ2
+ assert(typ in legaltypes)
+ if publi.get('status', None) == 'draft':
+ typ = "draft"
+ if publi.get('status', None) == 'submitted':
+ typ = "submitted"
+ knowntype = False
+ for k in keywords:
+ if k.startswith("TYPE"):
+ knowntype = True
+ if k[5:] in informaltypes:
+ keywords.add("informal")
+ if not knowntype:
+ keywords.add("TYPE" + typ)
+ if typ in informaltypes:
+ keywords.add("informal")
+ if 'reviewed' in publi.keys() and publi['reviewed'] == 'yes':
+ keywords.add('peer')
+ if 'status' in publi.keys() and publi['status'] == 'submitted':
+ keywords.add('underreview')
+ if 'venue' in publi.keys():
+ keywords.add('published')
+ s += '@%s{%s,\n' % (typetobibtype[typ], publi['id'])
+ authors = ' and '.join(authortotex(authorsz[author], sepnames=True) for author in
+ publi['authors'].split(' '))
+ s += ' author = {%s},\n' % authors
+ s += ' title = {%s},\n' % mklinktex(publi['title'],
+ publi['url'], sep="\n ")
+ s += ' year = {%s},\n' % str(getyear(publi))
+ if typ == "draft":
+ s += ' note = {Preprint: \\url{%s}},\n' % (absurl(publi['url'], SITEURL, LOCALURL))
+ elif typ in ["phdthesis", "mscthesis"]:
+ s += ' school = {%s},\n' % (mklinktex(publi['school'],
+ publi['schoolurl']))
+ else:
+ s += ' %s = {%s},\n' % (typetoobjtype[typ], venuetotex(name, url, issue,
+ True))
+ if typ in ["demo", "posterpaper", "shortpaper", "spotlight"]:
+ s += ' note = {%s},\n' % (stz[typ][lang])
+ if 'issue' in publi.keys():
+ s += ' number = {%s},\n' % publi['issue']
+ s += ' keywords = {' + ','.join(sorted(keywords)) + '},\n'
+ s += '}\n\n'
+ return s
+
+fmtdict = {
+ 'tex': publitotex,
+ 'bib': publitobib,
+ }
+
+if __name__ == '__main__':
+ for publi in parse('publis'):
+ if thepubli != "all":
+ if thepubli == "cv" or not thepubli:
+ if publi.get('reviewed', "no") == "no":
+ # only reviewed publis
+ continue
+ if publi.get('main', "no") == "no" and not publi.get('addcv', "no") == "yes":
+ # only main publis
+ continue
+ if publi.get('hidecv', "no") == "yes":
+ # hide some publis
+ continue
+ else:
+ # just one publi
+ if thepubli and publi['id'] != thepubli:
+ continue
+ print(fmtdict[fmt](publi, lang, venuesz, authorsz))
+
+
diff --git a/parserec.py b/parserec.py
@@ -0,0 +1,217 @@
+#!/usr/bin/python3
+
+stz = {
+ 'submitted': {
+ 'en': "Under review",
+ 'fr': "Soumis au comité de lecture",
+ },
+ 'draft': {
+ 'en': "Draft",
+ 'fr': "Version préliminaire",
+ },
+ 'journalversion': {
+ 'en': "journal version",
+ 'fr': "version journal",
+ },
+ 'conferenceversion': {
+ 'en': "conference version",
+ 'fr': "version conférence",
+ },
+ 'slides': {
+ 'en': "slides",
+ 'fr': "exposé",
+ },
+ 'slideslong': {
+ 'en': "longer slides",
+ 'fr': "exposé plus détaillé",
+ },
+ 'poster': {
+ 'en': "poster",
+ 'fr': "poster",
+ },
+ 'video': {
+ 'en': "video",
+ 'fr': "vidéo",
+ },
+ 'videoin': {
+ 'en': "video in",
+ 'fr': "vidéo en",
+ },
+ 'videoon': {
+ 'en': "video on",
+ 'fr': "vidéo sur",
+ },
+ 'direct download': {
+ 'en': "direct download",
+ 'fr': "téléchargement direct",
+ },
+ 'on': {
+ 'en': "on",
+ 'fr': "sur",
+ },
+ 'by': {
+ 'en': "by",
+ 'fr': "par",
+ },
+ 'oron': {
+ 'en': "or on",
+ 'fr': "ou sur",
+ },
+ 'orin': {
+ 'en': "or in",
+ 'fr': "ou en",
+ },
+ 'short': {
+ 'en': "lightning talk",
+ 'fr': "exposé bref",
+ },
+ 'code': {
+ 'en': "code",
+ 'fr': "code",
+ },
+ 'phddefense': {
+ 'en': "PhD defense",
+ 'fr': "soutenance de thèse",
+ },
+ 'phddefenserehearsal': {
+ 'en': "PhD defense rehearsal",
+ 'fr': "répétition de soutenance de thèse",
+ },
+ 'and': {
+ 'en': "and",
+ 'fr': "et",
+ },
+ 'demo': {
+ 'en': "Demo paper",
+ 'fr': "Démonstration",
+ },
+ 'spotlight': {
+ 'en': "Spotlight presentation",
+ 'fr': "Exposé spotlight",
+ },
+ 'shortpaper': {
+ 'en': "Short paper",
+ 'fr': "Article court",
+ },
+ 'posterpaper': {
+ 'en': "Poster paper",
+ 'fr': "Article poster",
+ },
+ }
+
+def authorname(author, sepnames=False):
+ if 'name' in author.keys():
+ return author['name']
+ else:
+ if sepnames:
+ return author['lastname'] + ', ' + author['firstname']
+ else:
+ return author['firstname'] + ' ' + author['lastname']
+
+def isurlrel(url):
+ # is URL relative?
+ if url.startswith('http'):
+ return False
+ if url.startswith('/'):
+ return False
+ return True
+
+def absurl(url, site, local):
+ if url.startswith('http'):
+ return url
+ if url.startswith('/'):
+ return site + url
+ return local + url
+
+def getyear(publi):
+ if 'year' in publi.keys():
+ return int(publi['year'])
+ # guess a year
+ pos = 0
+ title = publi['id']
+ while not title[pos].isdigit():
+ pos += 1
+ return int(title[pos:pos+4])
+
+def endswithpunct(publi):
+ for a in [".", "?", "!"]:
+ if (publi['title'].endswith(a)):
+ return True
+ return False
+
+def mkvenuename(venueo, short=False):
+ venue = venueo['id']
+ if 'name' in venueo.keys():
+ return venueo['name']
+ else:
+ # make name from id
+ pos = 0
+ while not venue[pos].isdigit():
+ pos += 1
+ sep = ' '
+ lpos = pos
+ if short and pos < len(venue) + 1:
+ # skip parts of year
+ pos += 2
+ sep = "'"
+ return venue[:lpos].upper() + sep + venue[pos:]
+
+# return name, type, venue URL, issue: for publi in lang given venuesz
+def getvenue(publi, lang, venuesz, short=False):
+ global stz
+ if 'venue' not in publi.keys():
+ if 'status' in publi.keys():
+ return (stz[publi['status']][lang], '', '', '', set())
+ return ('', '', '', '', set()) # phdthesis or mscthesis
+ venue = publi['venue']
+ if short and 'venueshort' in publi.keys():
+ venue = publi['venueshort']
+ url = None
+ typ = None
+ keywords = set()
+ if venue in venuesz.keys():
+ venueo = venuesz[venue]
+ if 'audience' in venueo.keys():
+ assert (venueo['audience'] in ['national', 'international'])
+ keywords.add(venueo['audience'])
+ if 'informal' in venueo.keys():
+ assert (venueo['informal'] == 'yes')
+ keywords.add("informal")
+ else:
+ keywords.add("formal")
+ if 'type' in venueo.keys():
+ assert (venueo['type'] in ['school', 'conference', 'workshop',
+ 'journal'])
+ if venueo['type'] in ['conference', 'journal']:
+ typ = venueo['type']
+ keywords.add('TYPE' + venueo['type'])
+ if 'url' in venueo.keys():
+ url = venueo['url']
+ venue = mkvenuename(venueo, short)
+ else:
+ # the venue is given directly
+ if 'venueurl' in publi.keys():
+ url = publi['venueurl']
+ lvenue = 'venue' + lang
+ if lvenue in publi.keys():
+ venue = publi[lvenue]
+ return (venue, typ, url, publi.get('issue', ''), keywords)
+
+def parse(fname):
+ with open(fname, 'r') as f:
+ current = {}
+ for l in f.readlines():
+ if l.strip().startswith('#'):
+ continue
+ if len(l.strip()) == 0:
+ if len(current.keys()) > 0:
+ yield current
+ current = {}
+ continue
+ fields = l.strip().split(':')
+ fname = fields[0].lower()
+ fval = ':'.join(fields[1:])
+ current[fname.strip().lower()] = fval.strip()
+ if len(current.keys()) > 0:
+ yield current
+
diff --git a/publis b/publis
@@ -0,0 +1,538 @@
+Id: drien2021managing
+Oldid: drien2020managing
+Title: Managing Consent for Data Access in Shared Databases
+Authors: odrien me yael
+Main: yes
+Reviewed: yes
+Venue: icde2021
+Url: https://u.cs.biu.ac.il/~amstery/files/managingconsent.pdf
+Type: shortpaper
+
+Id: amarilli2021uniform
+Oldid: amarilli2019model amarilli2020uniform
+Title: Uniform Reliability of Self-Join-Free Conjunctive Queries
+Authors: me bkimelfeld
+Url: https://arxiv.org/abs/1908.07093
+Venue: icdt2021
+Reviewed: yes
+Main: yes
+
+Id: amarilli2020constant
+Title: Constant-Delay Enumeration for Nondeterministic Document Spanners
+Authors: me pierreb smengel mniewerth
+Main: yes
+Reviewed: yes
+Venue: tods
+Url: https://arxiv.org/abs/2003.02576
+
+Id: romero2020computing
+Title: Computing and Illustrating Query Rewritings on Path Views with Binding Patterns
+Authors: jromero nicoleta me fabian
+Venue: cikm2020
+Reviewed: yes
+Type: demo
+Url: https://www.researchgate.net/publication/344881375_Computing_and_Illustrating_Query_Rewritings_on_Path_Views_with_Binding_Patterns
+Code: https://github.com/Aunsiels/dangie
+CodeAuthor: jromero
+Video: /work/talks/cikm2020/romero2020computing_video.mp4
+VideoExternal: https://dl.acm.org/doi/abs/10.1145/3340531.3417431
+VideoPlatform: ACM Digital Library
+VideoAuthor: jromero
+
+Id: amarilli2020dichotomy
+Oldid: amarilli2019dichotomy
+Title: A Dichotomy for Homomorphism-Closed Queries on Probabilistic Graphs
+Authors: me iceylan
+Url: https://arxiv.org/abs/1910.02048
+Venue: icdt2020
+Reviewed: yes
+Main: yes
+Slides: /work/talks/icdt2020/amarilli2020dichotomy_slides.pdf
+Video: /work/talks/icdt2020/amarilli2020dichotomy_video.mp4
+VideoExternal: https://av.tib.eu/media/46843
+VideoPlatform: TIB AV-Portal
+VideoLicense: CC BY 3.0 Germany
+Poster: /work/talks/highlights2020/amarilli2020dichotomy_poster.pdf
+Award: Best paper award of ICDT'20
+AwardFr: Prix du meilleur article à ICDT'20
+# AWARD: co-winner of the BDA best published paper award
+
+Id: romero2020equivalent
+Title: Equivalent Rewritings on Path Views with Binding Patterns
+Authors: jromero nicoleta me fabian
+Main: yes
+Reviewed: yes
+Venue: eswc2020
+Url: https://arxiv.org/abs/2003.07316
+Video: /work/talks/eswc2020/Equivalent_Rewritings_on_Path_Views_with_Binding_Patterns_-_ESWC_2020-BEijR0O_gxc.mp4
+VideoExternal2: https://www.youtube.com/watch?v=BEijR0O_gxc
+VideoPlatform2: Youtube
+VideoExternal: https://videolectures.net/eswc2020_romero_paper_106/
+VideoPlatform: Videolectures.net
+VideoAuthor: jromero
+Slides: /work/talks/eswc2020/romero2020equivalent_slides.pdf
+VideoAuthor: jromero
+
+Id: amarilli2020finite
+Oldid: amarilli2016finite amarilli2019finite
+Title: Finite Open-World Query Answering with Number Restrictions
+Authors: me michael
+Main: yes
+Reviewed: yes
+Venue: tocl
+Issue: 2020
+Url: http://arxiv.org/abs/2003.02521
+ConferenceVersion: amarilli2015finite
+
+Id: shih2019smoothing
+Oldid: amarilli2019smoothing
+Title: Smoothing Structured Decomposable Circuits
+Authors: ashih gbroeck pbeame me
+Url: https://arxiv.org/abs/1906.00311
+Main: yes
+Reviewed: yes
+Venue: neurips2019
+Type: spotlight
+Slides: /work/talks/neurips2019/shih2019smoothing_slides.pdf
+SlidesAuthor: ashih
+Poster: /work/talks/neurips2019/shih2019smoothing_poster.pdf
+PosterAuthor: ashih
+
+Id: amarilli2019connecting
+Title: Connecting Knowledge Compilation Classes and Width Parameters
+Authors: me fcapelli mikael pierre
+Main: yes
+Reviewed: yes
+Venue: tocs
+Issue: 2019
+Url: https://arxiv.org/abs/1811.02944
+ConferenceVersion: amarilli2018connecting
+
+Id: amarilli2019computing
+Oldid: amarilli2018computing
+Title: Computing Possible and Certain Answers over Order-Incomplete Data
+Authors: me lamine daniel pierre
+Url: https://arxiv.org/abs/1801.06396
+Main: no
+Reviewed: yes
+Venue: tcs
+Issue: 2019
+ConferenceVersion: amarilli2017possible
+
+Id: amarilli2019enumeration
+Title: Enumeration on Trees with Tractable Combined Complexity and Efficient Updates
+Authors: me pierreb smengel mniewerth
+Main: yes
+Venue: pods2019
+Reviewed: yes
+Errata: yes
+Url: https://arxiv.org/abs/1812.09519
+Slides: /work/talks/pods2019/amarilli2019enumeration_slides.pdf
+SlidesAuthor: mniewerth
+Poster: /work/talks/pods2019/amarilli2019enumeration_poster.pdf
+PosterAuthor: mniewerth
+Video: /work/talks/pods2019/Amarilli_Bourhis_Mengel_Niewerth_v1500a128.mp4
+VideoExternal: https://av.tib.eu/media/42889
+VideoPlatform: TIB AV-Portal
+VideoLicense: CC BY 3.0 Germany
+VideoAuthor: mniewerth
+
+Id: amarilli2019constant
+Oldid: amarilli2018constant
+Title: Constant-Delay Enumeration for Nondeterministic Document Spanners
+Authors: me pierreb smengel mniewerth
+Main: yes
+Venue: icdt2019
+Reviewed: yes
+Url: https://arxiv.org/abs/1807.09320
+Code: https://github.com/PoDMR/enum-spanner-rs
+CodeAuthor: rdupre mniewerth
+Slides: /work/talks/icdt2019/amarilli2019constant_slides.pdf
+SlidesAuthor: mniewerth
+Award: Featured in <a href="https://sigmodrecord.org/2020/07/31/constant-delay-enumeration-for-nondeterministic-document-spanners/">ACM SIGMOD Research Highlights</a>
+AwardFr: Mis en valeur comme <a href="https://sigmodrecord.org/2020/07/31/constant-delay-enumeration-for-nondeterministic-document-spanners/">ACM SIGMOD Research Highlights</a>
+AwardTex: Featured in ACM SIGMOD Research Highlights
+AwardTexFr: Mis en valeur comme ACM SIGMOD Research Highlights
+
+Id: amarilli2018whenb
+Title: When Can We Answer Queries Using Result-Bounded Data Interfaces?
+Authors: me michael
+Url: https://arxiv.org/abs/1810.07822
+Status: submitted
+Main: no
+Errata: yes
+
+Id: amarilli2019evaluating
+Oldid: amarilli2018combined amarilli2018evaluating
+Title: Evaluating Datalog via Tree Automata and Cycluits
+Authors: me pierreb mikael pierre
+Reviewed: yes
+Venue: tocs
+Issue: 2019
+Main: yes
+Url: https://arxiv.org/abs/1808.04663
+ConferenceVersion: amarilli2017combined
+
+Id: amarilli2018query
+Oldid: amarilli2017query
+Title: Query Answering with Transitive and Linear-Ordered Data
+Authors: me michael pierreb michaelvdb
+Main: yes
+Venue: jair
+Reviewed: yes
+Issue: 2018
+Url: https://www.jair.org/index.php/jair/article/view/11240
+ConferenceVersion: amarilli2016query
+Errata: yes
+
+Id: amarilli2018topological
+Title: Topological Sorting under Regular Constraints
+Oldid: amarilli2017dichotomy amarilli2018constrained
+Authors: me cpaperman
+Reviewed: yes
+Venue: icalp2018
+Main: yes
+Url: https://arxiv.org/abs/1707.04310
+Slides: /work/talks/icalp2018/amarilli2018topological_slides.pdf
+
+Id: amarilli2018when
+Title: When Can We Answer Queries Using Result-Bounded Data Interfaces?
+Authors: me michael
+Url: https://arxiv.org/abs/1706.07936
+Oldid: amarilli2017when
+Venue: pods2018
+Reviewed: yes
+Slides: /work/talks/pods2018/amarilli2018when_slides.pdf
+Poster: /work/talks/pods2018/amarilli2018when_poster.pdf
+Video: /work/talks/pods2018/Antoine_Amarilli_Telecom_ParisTech_When_Can_We_Answer_Queries_Using_Result-Bounded_Data-sfAz7Dt5o2Y.mp4
+VideoExternal: https://www.youtube.com/watch?v=sfAz7Dt5o2Y
+VideoPlatform: Youtube
+Errata: yes
+
+Id: amarilli2018connecting
+Oldid: amarilli2017connecting
+Title: Connecting Width and Structure in Knowledge Compilation
+Authors: me mikael pierre
+Venue: icdt2018
+Reviewed: yes
+Main: no
+AddCv: yes
+Url: https://arxiv.org/abs/1709.06188
+Slides: http://mikael-monet.net/slides/amarilli2018connecting.pdf
+SlidesAuthor: mikael
+JournalVersion: amarilli2019connecting
+
+Id: amarilli2018enumeration
+Oldid: amarilli2017enumeration
+Title: Enumeration on Trees under Relabelings
+Authors: me pierreb smengel
+Venue: icdt2018
+Reviewed: yes
+Url: https://arxiv.org/abs/1709.06185
+Poster: /work/talks/icdt2018/amarilli2018enumeration_poster.pdf
+Slides: /work/talks/icdt2018/amarilli2018enumeration_slides.pdf
+
+Title: Possible and Certain Answers for Queries over Order-Incomplete Data
+Id: amarilli2017possible
+Authors: me lamine daniel pierre
+Url: https://arxiv.org/abs/1707.07222
+Oldid: amarilli2016representing
+Venue: time2017
+Main: no
+Reviewed: yes
+Errata: yes
+Slides: /work/talks/time2017/amarilli2017possible_slides.pdf
+JournalVersion: amarilli2019computing
+
+Id: amarilli2017circuit
+Title: A Circuit-Based Approach to Efficient Enumeration
+Authors: me pierreb ljachiet smengel
+Venue: icalp2017
+Reviewed: yes
+Main: yes
+Url: https://arxiv.org/abs/1702.05589
+Slides: /work/talks/icalp2017/amarilli2017circuit_slides.pdf
+
+Id: amarilli2017conjunctive
+Title: Conjunctive Queries on Probabilistic Graphs: Combined Complexity
+Authors: me mikael pierre
+Url: https://arxiv.org/abs/1703.03201
+Venue: pods2017
+Reviewed: yes
+Main: yes
+Slides: http://mikael-monet.net/slides/amarilli2017conjunctive.pdf
+SlidesAuthor: mikael
+Poster: http://mikael-monet.net/posters/amarilli2017conjunctive.pdf
+PosterAuthor: mikael
+
+Id: amarilli2017combined
+Title: Combined Tractability of Query Evaluation via Tree Automata and Cycluits
+Authors: me pierreb mikael pierre
+Url: https://arxiv.org/abs/1612.04203
+Venue: icdt2017
+Reviewed: yes
+Main: no
+AddCv: yes
+Slides: http://mikael-monet.net/slides/amarilli2017combined.pdf
+SlidesAuthor: mikael
+Poster: http://mikael-monet.net/posters/amarilli2017combined2.pdf
+PosterAuthor: mikael
+JournalVersion: amarilli2019evaluating
+
+Id: amarilli2017top
+Title: Top-k Queries on Unknown Values under Order Constraints
+Authors: me yael tova pierre
+Url: https://arxiv.org/abs/1701.02634
+Venue: icdt2017
+Reviewed: yes
+Main: no
+Poster: /work/talks/icdt2017/amarilli2017top_poster.pdf
+Slides: /work/talks/icdt2017/amarilli2017top_slides.pdf
+SlidesAuthor: yael
+PosterAuthor: yael
+
+Id: galarraga2017predicting
+Title: Predicting Completeness in Knowledge Bases
+Authors: luis simon me fabian
+Venue: wsdm2017
+Reviewed: yes
+Main: no
+Url: https://arxiv.org/abs/1612.05786
+Slides: http://luisgalarraga.de/docs/completeness-kbs.pdf
+Poster: http://luisgalarraga.de/docs/poster-wsdm-v3.pdf
+PosterAuthor: luis
+SlidesAuthor: luis
+
+Id: amarilli2016challenges
+Title: Challenges for Efficient Query Evaluation on Structured Probabilistic Data
+Authors: me silviu mikael
+Url: https://arxiv.org/abs/1607.05538
+Reviewed: yes
+HideCv: yes
+Venue: sum2016
+Slides: http://mikael-monet.net/slides/challengesNice2016.pdf
+SlidesAuthor: mikael
+
+Id: amarilli2016failure
+Title: Failure is Also an Option
+Authors: me marcb remi david
+Url: https://zenodo.org/record/50764
+Venue: The New Codebreakers: Essays Dedicated to David Kahn on the Occasion of His 85th Birthday
+
+Id: amarilli2016query
+Title: Query Answering with Transitive and Linear-Ordered Data
+Authors: me michael pierreb michaelvdb
+Reviewed: yes
+Url: https://arxiv.org/abs/1607.00813
+Venue: ijcai2016
+Slides: https://www.cs.ox.ac.uk/people/michael.vandenboom/slides/IJCAI16-slides.pdf
+SlidesLong: /work/talks/cedar/amarilli2016query_slides.pdf
+Poster: https://www.cs.ox.ac.uk/people/michael.vandenboom/slides/IJCAI16-poster.pdf
+SlidesAuthor: michaelvdb
+PosterAuthor: michaelvdb
+JournalVersion: amarilli2018query
+Errata: yes
+
+Id: amarilli2016leveraging
+Title: Leveraging the Structure of Uncertain Data
+Authors: me
+Reviewed: no
+HideCv: yes
+Url: https://tel.archives-ouvertes.fr/tel-01345836
+Slides: /work/talks/thesis/amarilli2016leveraging_slides.pdf
+Type: phdthesis
+School: Télécom ParisTech
+SchoolUrl: https://www.telecom-paristech.fr/
+Venue: PhD thesis
+VenueFr: Thèse de doctorat
+# AWARD: co-winner of the Beth dissertation award, winner of the Télécom Paris PhD prize
+
+Id: amarilli2016tractable
+Title: Tractable Lineages on Treelike Instances: Limits and Extensions
+Authors: me pierreb pierre
+Url: https://arxiv.org/abs/1604.02761
+Main: yes
+Reviewed: yes
+Venue: pods2016
+Poster: /work/talks/pods2016/amarilli2016tractable_poster.pdf
+Slides: /work/talks/pods2016/amarilli2016tractable_slides.pdf
+
+Id: amarilli2014minimum
+Year: 2015
+Title: Minimum Bayesian Risk Methods for Automatic Speech Recognition
+Authors: me mehryar cyril
+Url: amarilli2014minimum.pdf
+Reviewed: yes
+Venue: US Patent 9123333
+VenueShort: US Patent
+Type: patent
+MiscEn: <a href="/blog/software_patent_absurdity.html">not an endorsement of software patents</a>
+MiscFr: <a href="/blog/software_patent_absurdity.html">je ne cautionne pas les brevets logiciels</a>
+
+Id: amarilli2015possibility
+Title: Possibility for Probabilistic XML
+Authors: me
+Url: https://arxiv.org/abs/1404.3131
+Reviewed: yes
+Venue: isi
+ConferenceVersion: amarilli2014possibility
+
+Id: amarilli2015intensional
+Title: Intensional Data on the Web
+Authors: me silviu pierre
+Url: https://osf.io/mvs8q/
+Venue: ACM SIGWEB Newsletter
+VenueUrl: https://dl.acm.org/newsletter/sigweb
+Type: journal
+Issue: Summer 2015
+
+Id: amarilli2015combining
+Title: Combining Existential Rules and Description Logics
+Authors: me michael
+Url: https://arxiv.org/abs/1505.00326
+Reviewed: yes
+Venue: ijcai2015
+Slides: /work/talks/ijcai2015/amarilli2015combining_slides.pdf
+SlidesLong: /work/talks/lirmm/amarilli2015combining_slides.pdf
+Poster: /work/talks/ijcai_2015/amarilli2015combining_poster.pdf
+
+Id: talaika2015ibex
+Title: IBEX: Harvesting Entities from the Web Using Unique Identifiers
+Authors: aliaksandr joanna me fabian
+Url: https://arxiv.org/abs/1505.00841
+Reviewed: yes
+Venue: webdb2015
+Slides: /work/talks/sigmod2015/talaika2015ibex_slides.pdf
+
+Id: tang2014framework
+Year: 2015
+Title: A Framework for Sampling-Based XML Data Pricing
+Authors: ruiming me pierre stephane
+Url: https://osf.io/m3xcn/
+Reviewed: yes
+Venue: tldks
+ConferenceVersion: tang2014get
+
+Id: amarilli2015finite
+Title: Finite Open-World Query Answering with Number Restrictions
+Authors: me michael
+Url: https://arxiv.org/abs/1505.04216
+Reviewed: yes
+Venue: lics2015
+Slides: /work/talks/lics2015/amarilli2015finite_slides.pdf
+JournalVersion: amarilli2019finite
+
+Id: amarilli2015provenance
+Title: Provenance Circuits for Trees and Treelike Instances
+Main: yes
+Authors: me pierreb pierre
+Url: https://arxiv.org/abs/1511.08723
+Slides: /work/talks/icalp2015/amarilli2015provenance_slides.pdf
+Reviewed: yes
+Venue: icalp2015
+
+Id: amarilli2015structurally
+Title: Structurally Tractable Uncertain Data
+Authors: me
+Url: https://arxiv.org/abs/1507.04955
+Reviewed: yes
+Venue: sigmodphd2015
+Slides: /work/talks/sigmod2015/amarilli2015structurally_slides.pdf
+
+Id: amarilli2014recent
+Title: Recent Topics of Research around the YAGO Knowledge Base
+Authors: me luis nicoleta fabian
+Url: https://zenodo.org/record/34912
+Venue: apweb2014
+
+Id: tang2014get
+Title: Get a Sample for a Discount: Sampling-Based XML Data Pricing
+Authors: ruiming me pierre stephane
+Reviewed: yes
+Url: https://osf.io/5y84h/
+Venue: dexa2014
+Slides: /work/talks/dexa2014/tang2014get_slides.pdf
+SlidesAuthor: ruiming
+JournalVersion: tang2014framework
+
+Id: amarilli2014uncertainty
+Title: Uncertainty in Crowd Data Sourcing under Structural Constraints
+Authors: me yael tova
+Url: https://arxiv.org/abs/1403.0783
+Reviewed: yes
+Venue: uncrowd2014
+Slides: /work/talks/uncrowd/amarilli2014crowdsourcing_slides.pdf
+
+Id: amarilli2014possibility
+Title: The Possibility Problem for Probabilistic XML
+Authors: me
+Url: https://arxiv.org/abs/1404.3131
+Reviewed: yes
+Venue: amw2014
+Slides: /work/talks/amw2014/amarilli2014possibility_slides.pdf
+JournalVersion: amarilli2015possibility
+
+Id: amarilli2014complexity
+Title: On the Complexity of Mining Itemsets from the Crowd Using Taxonomies
+Authors: me yael tova
+Url: https://arxiv.org/abs/1312.3248
+Reviewed: yes
+Venue: icdt2014
+Slides: /work/talks/icdt2014/amarilli2014complexity_slides.pdf
+
+Id: amarilli2013connections
+Title: On the Connections between Relational and XML Probabilistic Data Models
+Authors: me pierre
+Url: https://osf.io/t6ghw/
+Reviewed: yes
+Venue: bncod2013
+Slides: /work/talks/bncod2013/amarilli2013connections_slides.pdf
+
+Id: amarilli2012rational
+Title: From Rational Number Reconstruction to Set Reconciliation and File Synchronization
+Authors: me fabrice florian robin david pablo
+Url: https://zenodo.org/record/33991
+Venue: tgc2012
+
+Id: amarilli2012advances
+Title: Advances in Holistic Ontology Alignment
+Authors: me
+Reviewed: no
+Main: no
+HideCv: yes
+Url: /work/school/m2/report.pdf
+Slides: /work/talks/stage_m2/amarilli2012mpri_slides.pdf
+Type: mscthesis
+School: Télécom ParisTech
+SchoolUrl: https://www.telecom-paristech.fr/
+Venue: Master's thesis (internship report)
+VenueFr: Rapport de stage de master
+
+Id: oita2012crossfertilizing
+Title: Cross-Fertilizing Deep Web Analysis and Ontology Enrichment
+Authors: marilena me pierre
+Url: https://osf.io/b3fvz/
+Reviewed: yes
+Venue: vlds2012
+
+Id: amarilli2012proof
+Title: A Proof of the Pumping Lemma for Context-Free Languages Through Pushdown Automata
+Authors: me marc
+Url: https://arxiv.org/abs/1207.2819
+Venue: arXiv:1207.2819v1
+Type: note
+Issue: 2012
+
+Id: amarilli2011can2
+Title: Can a Program Reverse-Engineer Itself?
+Authors: me david pablo emil
+Url: https://eprint.iacr.org/2011/497
+Venue: imacc2011
+
+Id: amarilli2011can
+Title: Can Code Polymorphism Limit Information Leakage?
+Authors: me sascha david danielp pablo michaelt
+Url: https://eprint.iacr.org/2011/099
+Venue: wistp2011
+Code: /work/research/amarilli2015can.zip
+
diff --git a/publist_en.tex b/publist_en.tex
@@ -0,0 +1,48 @@
+\documentclass[DIV14]{scrartcl}
+
+\usepackage[utf8]{inputenc}
+\usepackage[english]{babel}
+\usepackage{hyperref}
+\usepackage{xcolor}
+
+\hypersetup{
+ colorlinks,
+ urlcolor={blue!30!black}
+}
+\usepackage[defernumbers,sorting=ydnt,maxnames=99]{biblatex}
+\bibliography{main}
+\sloppy
+
+
+\title{List of publications}
+\author{Antoine Amarilli}
+\date{\today}
+
+\begin{document}
+\maketitle
+
+\nocite{*}
+
+\section{Peer-reviewed international conferences}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,keyword=TYPEconference,keyword=international,keyword=peer]
+
+\section{Peer-reviewed international workshops}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,keyword=TYPEworkshop,keyword=international,keyword=peer]
+
+\section{Peer-reviewed national conferences}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,keyword=TYPEconference,keyword=national,keyword=peer]
+
+\section{Patents}
+\printbibliography[heading=none,keyword=published,keyword=TYPEpatent]
+
+\section{Peer-reviewed journal articles}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,keyword=TYPEjournal,keyword=peer]
+
+\section{Publications without peer review}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,notkeyword=peer,notkeyword=TYPEphdthesis,notkeyword=TYPEmscthesis,notkeyword=TYPEnote]
+
+\section{Publications currently undergoing peer review}
+\printbibliography[heading=none,keyword=underreview,notkeyword=published]
+
+\end{document}
+
diff --git a/publist_fr.tex b/publist_fr.tex
@@ -0,0 +1,48 @@
+\documentclass[DIV14]{scrartcl}
+
+\usepackage[utf8]{inputenc}
+\usepackage[francais]{babel}
+\usepackage{hyperref}
+\usepackage{xcolor}
+
+\hypersetup{
+ colorlinks,
+ urlcolor={blue!30!black}
+}
+\usepackage[defernumbers,sorting=ydnt,maxnames=99]{biblatex}
+\bibliography{main}
+\sloppy
+
+
+\title{Liste de publications}
+\author{Antoine Amarilli}
+\date{\today}
+
+\begin{document}
+\maketitle
+
+\nocite{*}
+
+\section{Conférences internationales avec comité de lecture}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,keyword=TYPEconference,keyword=international,keyword=peer]
+
+\section{Workshops internationaux avec comité de lecture}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,keyword=TYPEworkshop,keyword=international,keyword=peer]
+
+\section{Conférences nationales avec comité de lecture}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,keyword=TYPEconference,keyword=national,keyword=peer]
+
+\section{Brevets}
+\printbibliography[heading=none,keyword=published,keyword=TYPEpatent]
+
+\section{Articles de revues avec comité de lecture}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,keyword=TYPEjournal,keyword=peer]
+
+\section{Publications sans comité de lecture}
+\printbibliography[heading=none,keyword=published,notkeyword=informal,notkeyword=peer,notkeyword=TYPEphdthesis,notkeyword=TYPEmscthesis,notkeyword=TYPEnote]
+
+\section{Prépublications soumises}
+\printbibliography[heading=none,keyword=underreview]
+
+\end{document}
+
diff --git a/reviews b/reviews
@@ -0,0 +1,65 @@
+Id: aaai2021
+Role: pc
+
+Id: ijcai2021
+Role: spc
+
+Id: stacs2021
+Role: pc
+
+Id: icdt2021
+Role: misc
+
+Id: ijcai2020
+Role: pc
+
+Id: stacs2020
+Role: misc
+
+Id: mfcs2020
+Role: misc
+
+Id: ijcai2019
+Role: pc
+
+Id: icdt2019
+Role: pc
+
+Id: icdt2018
+Role: pc
+
+Id: bda2017
+Role: pc
+
+Id: sum2016
+Role: pc
+
+Id: bda2016
+Role: pc_demos
+
+Id: vldbj
+Role: misc
+
+Id: jlc
+Role: misc
+
+Id: rsl
+Role: misc
+
+Id: dapd
+Role: misc
+
+Id: icdt2017
+Role: misc
+
+Id: pods2016
+Role: misc
+
+Id: icde2015
+Role: misc
+
+Id: latin2014
+Role: misc
+
+Id: sigmod2013
+Role: misc
diff --git a/talks b/talks
@@ -0,0 +1,680 @@
+Title: Efficient enumeration of regex matches
+Date: 2020-11-23
+Venue: seqbim2020
+Misc: online talk due to the COVID-19 pandemic
+MiscFr: exposé en ligne en raison de la pandémie de COVID-19
+Url: seqbim2020/amarilli2020efficient_slides.pdf
+
+Title: Une dichotomie sur l’évaluation de requêtes closes sous homomorphismes sur les graphes probabilistes
+Date: 2020-10-29
+Venue: bda2020
+Misc: online talk due to the COVID-19 pandemic
+MiscFr: exposé en ligne en raison de la pandémie de COVID-19
+Url: bda2020/amarilli2020dichotomie_slides.pdf
+
+Title: A Dichotomy for Homomorphism-Closed Queries on Probabilistic Graphs
+Venue: DIG seminar
+VenueFr: Séminaire DIG
+VenueUrl: https://a3nm.net/work/seminar/
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Date: 2020-10-29
+Url: dig/amarilli2020dichotomy_slides.pdf
+
+Title: A Dichotomy for Homomorphism-Closed Queries on Probabilistic Graphs
+Date: 2020-09-16
+Venue: highlights2020
+Misc: online talk due to the COVID-19 pandemic
+MiscFr: exposé en ligne en raison de la pandémie de COVID-19
+Url: highlights2020/amarilli2020dichotomy_slides.pdf
+Poster: highlights2020/amarilli2020dichotomy_poster.pdf
+
+Title: Query Evaluation on Probabilistic Data: A Story of Dichotomies
+Date: 2020-05-19
+Venue: Seminar of the Formal Methods team
+VenueFr: séminaire de l'équipe Méthodes Formelles
+VenueUrl: https://mf.labri.fr/
+Place: LaBRI
+PlaceUrl: https://www.labri.u-bordeaux.fr/
+Location: <del>Bordeaux</del>
+Misc: online talk due to the COVID-19 pandemic, <a href="https://visio.u-bordeaux.fr/playback/presentation/2.0/playback.html?meetingId=c1df9a62fd77f82c7a816bd06adf6a84adce292d-1589887822593">video</a>
+MiscFr: exposé en ligne en raison de la pandémie de COVID-19, <a href="https://visio.u-bordeaux.fr/playback/presentation/2.0/playback.html?meetingId=c1df9a62fd77f82c7a816bd06adf6a84adce292d-1589887822593">vidéo</a>
+Url: labri/amarilli2020query_slides.pdf
+
+Title: About That Other Crisis: Climate Change and Academia's Environmental Footprint
+Date: 2020-04-16
+Venue: Informal DIG seminar
+VenueFr: Séminaire DIG informel
+Url: dig/amarilli2020about_slides.pdf
+
+Title: Climate Change Session Presentation
+Date: 2020-04-01
+Venue: icdt2020
+Misc: online talk due to the COVID-19 pandemic
+MiscFr: exposé en ligne en raison de la pandémie de COVID-19
+Url: icdt2020/amarilli2020climate_slides.pdf
+
+Title: A Dichotomy for Homomorphism-Closed Queries on Probabilistic Graphs
+Date: 2020-03-30
+Venue: icdt2020
+Misc: online talk due to the COVID-19 pandemic, <a href="/work/talks/icdt2020/amarilli2020dichotomy_video.mp4">video in direct download</a>
+MiscFr: exposé en ligne en raison de la pandémie de COVID-19, <a href="/work/talks/icdt2020/amarilli2020dichotomy_video.mp4">video en téléchargement direct</a>
+Url: icdt2020/amarilli2020dichotomy_slides.pdf
+
+Title: Provenance in Databases and Links to Knowledge Compilation
+Venue: KOCOON Workshop
+VenueFr: Workshop KOCOON
+VenueUrl: http://kocoon.gforge.inria.fr/ws.html
+Place: Maison de la Recherche
+PlaceUrl: http://www.univ-artois.fr/la-recherche/la-maison-de-la-recherche
+Location: Arras
+Date: 2019-12-17
+Url: kocoon2019/amarilli2019provenance_slides.pdf
+
+Title: Query Lineages and Knowledge Compilation
+Venue: DBAI Workshop
+VenueFr: Workshop DBAI
+VenueUrl: http://dbai2019.imfd.cl/
+Date: 2019-11-13
+Location: Santa Cruz (Chile)
+LocationFr: Santa Cruz (Chili)
+Url: dbai2019/amarilli2019query_slides.pdf
+
+Title: Enumerating Pattern Matches in Texts and Trees
+Date: 2019-10-24
+Team: DKM
+TeamUrl: https://www.irisa.fr/fr/departements/d7-gestion-donnees-connaissance
+Venue: $TEAM seminar
+VenueFr: séminaire du $TEAM
+Place: INRIA Rennes
+PlaceUrl: https://www.inria.fr/centre/rennes
+Url: dkm2019/amarilli2019enumerating_slides.pdf
+
+Title: Query Evaluation on Probabilistic Data: New Hard Cases
+Date: 2019-10-10
+Team: GT ALGA
+TeamUrl: https://alga.labri.fr/
+Venue: $TEAM Annual Meeting 2019
+VenueFr: Journées 2019 du $TEAM
+VenueUrl: https://www.di.ens.fr/camille.bourgaux/gt-alga/
+Place: École normale supérieure
+PlaceUrl: https://www.ens.fr/
+Location: Paris
+Url: alga2019/amarilli2019query_slides.pdf
+
+Title: Enumerating Pattern Matches in Text and Trees
+Date: 2019-10-03
+Venue: DK915 "Introduction to Research and Business"
+VenueUrl: https://moodle.r2.enst.fr/moodle/enrol/index.php?id=68
+Place: PUIO
+Location: Orsay
+Url: dk2019/amarilli2019enumerating_slides.pdf
+
+Title: Enumeration for MSO Queries on Trees via Circuits
+Date: 2019-07-14
+Venue: Computer Science Colloquium
+VenueUrl: https://www.cs.technion.ac.il/~colloq/20190714_11_00_Amarilli.html
+Place: Technion
+PlaceUrl: https://www.technion.ac.il/
+Location: Haifa
+LocationFr: Haïfa
+Url: technion/amarilli2019enumeration_slides.pdf
+
+Title: A Circuit-Based Approach to Efficient Enumeration: Enumerating MSO Query Results on Trees and Words
+Venue: Enumeration for Data Management
+VenueUrl: https://www.dagstuhl.de/en/program/calendar/semhp/?semnr=19211
+Place: Schloss Dagstuhl
+PlaceUrl: https://www.dagstuhl.de/
+Date: 2019-05-20
+Url: dagstuhl_enumeration/amarilli2019circuit_slides.pdf
+
+Title: Leveraging the Structure of Uncertain Data
+Date: 2019-03-05
+Team: Department of Computer Science
+TeamUrl: https://www.cs.ox.ac.uk/
+Venue: Information Systems Seminar
+VenueFr: Séminaire du groupe Information Systems
+VenueUrl: https://www.cs.ox.ac.uk/seminars/infsys/
+Place: University of Oxford
+PlaceUrl: https://www.ox.ac.uk/
+Location: Oxford
+Url: oxford/amarilli2019leveraging_slides.pdf
+
+Title: When Can We Answer Queries Using Result-Bounded Data Interfaces?
+Date: 2018-12-10
+Team: CNRS-Momentum
+TeamUrl: http://cnrsinfo.cnrs.fr/intranet/actus/171221-momentum.html
+Venue: Kick-off meeting for project $TEAM
+VenueFr: Réunion de lancement du projet $TEAM
+Place: INRIA Lille
+PlaceUrl: https://www.inria.fr/en/centre/lille
+Url: momentum/amarilli2018when_slides.pdf
+
+Title: Topological sorting under regular constraints
+Date: 2018-12-07
+Venue: Automata Seminar
+VenueFr: Séminaire Automates
+VenueUrl: https://www.irif.fr/seminaires/automates/index
+Place: IRIF
+PlaceUrl: https://www.irif.fr/
+Location: Paris
+Url: irif/amarilli2018topological_slides.pdf
+
+Title: Enumerating pattern matches in texts and trees
+Date: 2018-11-12
+Team: LACL
+TeamUrl: https://www.lacl.fr/
+Venue: $TEAM seminar
+VenueFr: séminaire du $TEAM
+Place: Université Paris-Est Créteil Val de Marne
+PlaceUrl: http://www.u-pec.fr/
+Location: Créteil
+Url: lacl/amarilli2018enumerating_slides.pdf
+
+Title: Énumération sur les arbres avec support des réétiquetages
+Date: 2018-10-24
+Venue: bda2018
+Url: bda2018/amarilli2018enumerating_slides.pdf
+
+Title: Enumerating pattern matches in texts and trees
+Date: 2018-10-11
+Team: LTCI
+TeamUrl: https://www.telecom-paris.fr/fr/recherche/laboratoires/laboratoire-traitement-et-communication-de-linformation-ltci
+Venue: $TEAM research day
+VenueFr: Journée recherche du $TEAM
+VenueUrl: https://www.telecom-paris.fr/fr/recherche/laboratoires/laboratoire-traitement-et-communication-de-linformation-ltci/journees-recherche/journee-de-recherche-2018
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Location: Paris
+Url: ltci/amarilli2018enumerating_slides.pdf
+
+Title: Enumerating pattern matches in texts and trees
+Date: 2018-10-09
+Team: GREYC
+TeamUrl: https://www.greyc.fr/?page_id=1342&lang=en
+Venue: $TEAM ALGO seminar
+VenueFr: séminaire ALGO du $TEAM
+Place: Université de Caen
+PlaceUrl: http://www.unicaen.fr/
+Location: Caen
+Url: greyc/amarilli2018enumerating_slides.pdf
+
+Title: Enumerating Pattern Matches in Text and Trees
+Date: 2018-10-04
+Venue: DK915 "Introduction to Research and Business"
+VenueUrl: https://moodle.r2.enst.fr/moodle/enrol/index.php?id=24
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Location: Paris
+Url: dk2018/amarilli2018enumerating_slides.pdf
+
+Title: Topological Sorting under Regular Constraints
+Date: 2018-07-12
+Venue: icalp2018
+Url: icalp2018/amarilli2018topological_slides.pdf
+
+Title: When Can We Answer Queries Using Result-Bounded Data Interfaces?
+Date: 2018-06-12
+Venue: pods2018
+Url: pods2018/amarilli2018when_slides.pdf
+Misc: <a href="/work/talks/pods2018/Antoine_Amarilli_Telecom_ParisTech_When_Can_We_Answer_Queries_Using_Result-Bounded_Data-sfAz7Dt5o2Y.mp4">vidéo in direct download</a>, <a href="https://www.youtube.com/watch?v=sfAz7Dt5o2Y">video on Youtube</a>
+MiscFr: <a href="/work/talks/pods2018/Antoine_Amarilli_Telecom_ParisTech_When_Can_We_Answer_Queries_Using_Result-Bounded_Data-sfAz7Dt5o2Y.mp4">vidéo en téléchargement direct</a>, <a href="https://www.youtube.com/watch?v=sfAz7Dt5o2Y">vidéo sur Youtube</a>
+
+Title: Atelier Mes Données : Signal, Tor Browser, et alternatives Framasoft
+Date: 2018-05-25
+Url: ateliermesdonnees2018/amarilli2018atelier_slides.pdf
+Venue: Personal Data Workshop for the Digital Freedom Party
+VenueFr: Atelier Mes Données pour la Fête des Libertés Numériques
+VenueUrl: https://fetedeslibertesnumeriques.org/evenements/atelier-mes-donnees/
+Place: Maison du Libre et des Communs
+PlaceUrl: https://openagenda.com/la-maison-du-libre-et-des-communs
+Location: Paris
+
+Title: Leveraging the Structure of Uncertain Data
+Date: 2018-05-16
+Venue: cscubs2018
+Url: cscubs2018/amarilli2018leveraging_slides.pdf
+
+Title: Enumeration on Trees under Relabelings
+Date: 2018-03-27
+Venue: icdt2018
+Url: icdt2018/amarilli2018enumeration_slides.pdf
+
+Title: Using Order Constraints in Crowd Data Sourcing
+Date: 2018-02-12
+Url: modas/amarilli2018using_slides.pdf
+Team: MoDaS
+TeamUrl: http://www.cs.tau.ac.il/~milo/projects/modas/
+Venue: $TEAM final workshop
+VenueFr: Workshop final $TEAM
+VenueUrl: https://modaseu2018.wixsite.com/modas
+Location: Eilat
+
+Title: Finding Topological Sorts in a Regular Language
+Date: 2018-02-12
+Url: modas/amarilli2018finding_slides.pdf
+Team: MoDaS
+TeamUrl: http://www.cs.tau.ac.il/~milo/projects/modas/
+Venue: $TEAM final workshop
+VenueFr: Workshop final $TEAM
+VenueUrl: https://modaseu2018.wixsite.com/modas
+Location: Eilat
+Type: short
+
+Title: A Circuit-Based Approach to Efficient Enumeration
+Team: VALDA
+TeamUrl: https://www.di.ens.fr/ValdaTeam.html.fr
+Venue: $TEAM seminar
+VenueFr: séminaire $TEAM
+VenueUrl: https://calendar.google.com/calendar/embed?src=iae3q94482440j6jptor2ctfd8%40group.calendar.google.com&ctz=Europe/Paris
+Place: École normale supérieure
+PlaceUrl: https://www.ens.fr/
+Date: 2017-12-07
+Location: Paris
+Url: valda/amarilli2017circuit_slides.pdf
+
+Title: A Circuit-Based Approach to Efficient Enumeration
+Venue: Recent Trends in Knowledge Compilation
+VenueUrl: https://www.dagstuhl.de/en/program/calendar/semhp/?semnr=17381
+Place: Schloss Dagstuhl
+PlaceUrl: https://www.dagstuhl.de/
+Date: 2017-09-19
+Url: dagstuhl_knowledge_compilation/amarilli2017circuit_slides.pdf
+
+Title: Leveraging the Structure of Uncertain Data
+Venue: esslli2017
+Date: 2017-07-26
+Url: esslli2017/amarilli2017leveraging_slides.pdf
+
+Title: A Circuit-Based Approach to Efficient Enumeration
+Date: 2017-06-15
+Url: aggreg_workshop/amarilli2017circuit_slides.pdf
+Venue: Aggregate Queries Workshop
+VenueUrl: http://researchers.lille.inria.fr/niehren/Aggreg/Workshop-Lille-2017/doc.html
+Place: INRIA Lille
+PlaceUrl: https://www.inria.fr/en/centre/lille
+
+Title: A Circuit-Based Approach to Efficient Enumeration
+Date: 2017-05-10
+Url: beyondnp/amarilli2017circuit_slides.pdf
+Venue: Beyond-NP meeting
+VenueFr: Réunion Beyond-NP
+VenueUrl: https://www.gdria.fr/bull-ia-journee-beyond-np-paris-diderot-10-mai-2017/
+Place: Paris-Diderot University
+PlaceFr: Université Paris-Diderot
+PlaceUrl: https://www.univ-paris-diderot.fr/
+Location: Paris
+
+Title: A Circuit-Based Approach to Efficient Enumeration
+Date: 2017-05-09
+Url: parisbd2017/amarilli2017circuit_slides.pdf
+Venue: parisbd2017
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Location: Paris
+Misc: <a href="/publications/amarilli2017circuit_abstract.pdf">submitted abstract</a>
+MiscFr: <a href="/publications/amarilli2017circuit_abstract.pdf">résumé soumis</a>
+
+Title: Qu'est-ce que l'informatique théorique et comment en faire
+Date: 2017-04-29
+Url: prologin2017/amarilli2017informatique_slides.pdf
+Venue: $TEAM final competition
+VenueFr: Finale $TEAM
+Team: Prologin
+TeamUrl: https://prologin.org/
+Place: EPITA
+PlaceUrl: http://www.epita.fr/
+Location: Le Kremlin-Bicêtre
+Misc: not a professional talk
+MiscFr: exposé non professionnel
+
+Title: Leveraging the Structure of Uncertain Data
+TitleFr: Tirer parti de la structure des données incertaines
+Url: telecom2017/amarilli2017tirer_slides.pdf
+Date: 2017-04-21
+Venue: PhD graduation ceremony
+VenueFr: Remise des diplômes docteurs
+VenueUrl: https://www.telecom-paristech.org/event/remise-des-diplomes-docteurs-2016/2017/04/21/1523
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Location: Paris
+Misc: <a href="/work/talks/telecom2017/Prix_de_These_2017_-_Antoine_Amarilli-ke5IX6Vv3wY.mp4">vidéo in direct download</a>, <a href="https://www.youtube.com/watch?v=ke5IX6Vv3wY">video on Youtube</a>
+MiscFr: <a href="/work/talks/telecom2017/Prix_de_These_2017_-_Antoine_Amarilli-ke5IX6Vv3wY.mp4">vidéo en téléchargement direct</a>, <a href="https://www.youtube.com/watch?v=ke5IX6Vv3wY">vidéo sur Youtube</a>
+
+Title: Lignages efficaces sur les instances quasi-arborescentes : Limites et extensions
+Venue: bda2016
+Date: 2016-11-17
+Url: bda2016/amarilli2016lignages_slides.pdf
+Misc: <a href="/work/talks/bda2016/Antoine_Amarilli_-_Lignages_efficaces_sur_les_instances_quasi_arborescentes_Limites_et_extensions-X2hZEHIKHAk.mkv">video in direct download</a>, <a href="https://www.youtube.com/watch?v=X2hZEHIKHAk">video on Youtube</a>
+MiscFr: <a href="/work/talks/bda2016/Antoine_Amarilli_-_Lignages_efficaces_sur_les_instances_quasi_arborescentes_Limites_et_extensions-X2hZEHIKHAk.mkv">vidéo en téléchargement direct</a>, <a href="https://www.youtube.com/watch?v=X2hZEHIKHAk">vidéo sur Youtube</a>
+
+Title: Query Answering with Guarded Rules and Expressive Constraints
+Date: 2016-10-20
+Team: CEDAR
+TeamUrl: https://team.inria.fr/cedar/
+Venue: $TEAM seminar
+VenueFr: séminaire $TEAM
+VenueUrl: https://team.inria.fr/cedar/category/seminar/
+Place: PCRI
+PlaceUrl: https://www.inria.fr/centre/saclay/presentation/infos-pratiques/comment-venir
+Location: Gif-sur-Yvette
+Url: cedar/amarilli2016query_slides.pdf
+
+Title: Probabilities and Provenance on Trees and Treelike Instances
+Venue: highlights2016
+Url: highlights2016/amarilli2016probabilities_slides.pdf
+Date: 2016-09-07
+Misc: <a href="/publications/amarilli2016probabilities.pdf">submitted abstract</a>
+MiscFr: <a href="/publications/amarilli2016probabilities.pdf">résumé soumis</a>
+# Misc: Best talk award
+# MiscFr: Prix du meilleur exposé
+
+Title: Tractable Lineages on Treelike Instances: Limits and Extensions
+Url: pods2016/amarilli2016tractable_slides.pdf
+Venue: pods2016
+Date: 2016-06-29
+
+Title: Leveraging the Structure of Uncertain Data
+TitleFr: Tirer parti de la structure des données incertaines
+Url: parisbd/amarilli2016leveraging_slides.pdf
+Venue: Inaugural Paris Summit on Big Data Management
+VenueUrl: http://www.paris-bigdata.org/
+Type: poster
+Date: 2016-03-24
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+
+Title: Leveraging the Structure of Uncertain Data
+TitleFr: Tirer parti de la structure des données incertaines
+Url: thesis/amarilli2016leveraging_slides.pdf
+Venue: PhD defense
+VenueFr: Soutenance de thèse
+# VenueUrl: https://www.telecom-paris.fr/nc/actualites/evenement.html?idactus=2514
+Date: 2016-03-14
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+
+Title: Leveraging the Structure of Uncertain Data
+TitleFr: Tirer parti de la structure des données incertaines
+Url: thesis/amarilli2016leveraging_slides.pdf
+Type: phddefenserehearsal
+Date: 2016-03-09
+Team: IC2
+TeamUrl: http://www.infres.enst.fr/wp/ic2/
+Venue: $TEAM Lunch Seminar
+VenueUrl: http://www.infres.enst.fr/wp/ic2/seminar
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+
+Title: Probabilities and Provenance on Trees and Treelike Instances
+Url: dahu/amarilli2016probabilities_slides.pdf
+Date: 2016-02-08
+Team: LSV
+TeamUrl: http://www.lsv.ens-cachan.fr/
+Venue: $TEAM seminar
+VenueFr: séminaire du $TEAM
+Place: ENS Cachan
+PlaceUrl: https://www.ens-cachan.fr/
+
+Title: Probabilities and Provenance on Trees and Treelike Instances
+Url: liafa/amarilli2016probabilities_slides.pdf
+Date: 2016-01-08
+Venue: Automata Seminar
+VenueUrl: http://www.liafa.univ-paris-diderot.fr/web9/manifsem/listmanifannee_en.php?typecongres=3
+Place: LIAFA
+PlaceUrl: http://www.liafa.univ-paris-diderot.fr/
+Location: Paris
+
+
+Title: Combining Existential Rules and Description Logics
+Url: inria_lille/amarilli2015combining_slides.pdf
+Team: LINKS
+TeamUrl: https://team.inria.fr/links/
+Venue: $TEAM seminar
+VenueFr: séminaire d'équipe $TEAM
+Place: INRIA Lille
+PlaceUrl: https://www.inria.fr/en/centre/lille
+Date: 2015-10-29
+
+Title: Combining Existential Rules and Description Logics
+Url: lirmm/amarilli2015combining_slides.pdf
+Venue: GraphIk Seminar
+VenueFr: Séminaire GraphIk
+VenueUrl: https://team.inria.fr/graphik/news-3/zz/
+Place: LIRMM
+PlaceUrl: https://www.lirmm.fr/
+Location: Montpellier
+Date: 2015-10-23
+
+Title: Circuits de provenance pour les arbres et les instances quasi-arborescentes
+Url: bda2015/amarilli2015provenance_slides.pdf
+Venue: bda2015
+Date: 2015-10-01
+
+Title: Requêtes sur des données à ordre incomplet
+Url: bda2015/amarilli2015requetes_slides.pdf
+Venue: bda2015
+Date: 2015-09-29
+
+Title: Combining Existential Rules and Description Logics
+Url: ijcai2015/amarilli2015combining_slides.pdf
+Venue: ijcai2015
+Date: 2015-07-28
+
+Title: Provenance Circuits for Trees and Treelike Instances
+Url: icalp2015/amarilli2015provenance_slides.pdf
+Venue: icalp2015
+Date: 2015-07-10
+
+Title: Finite Open-World Query Answering with Number Restrictions
+Url: lics2015/amarilli2015finite_slides.pdf
+Venue: lics2015
+Date: 2015-07-07
+
+Title: Structurally Tractable Uncertain Data
+Url: sigmod2015/amarilli2015structurally_slides.pdf
+Venue: sigmodphd2015
+Date: 2015-05-31
+
+Title: IBEX: Harvesting Entities from the Web Using Unique Identifiers
+Url: sigmod2015/talaika2015ibex_slides.pdf
+Venue: webdb2015
+Date: 2015-05-31
+
+Title: Uncertainty and Incompleteness
+Url: digicosme2015/amarilli2015uncertainty_slides.pdf
+Venue: DigiCosme Spring School on Data Management 2015
+VenueFr: École de printemps DigiCosme sur la gestion de données 2015
+VenueUrl: https://www.universite-paris-saclay.fr/en/event/digicosme-spring-school-2015-on-data-management
+Place: ENSTA ParisTech
+PlaceUrl: https://www.ensta-paristech.fr/
+Location: Palaiseau
+Date: 2015-05-19
+
+Title: Top-k Querying of Incomplete Data under Order Constraints
+Url: dasfaa2015/amarilli2015top_slides.pdf
+Team: CCIPX
+TeamUrl: http://www.comp.nus.edu.sg/~ccipx/
+Venue: $TEAM project meeting
+VenueFr: réunion du projet $TEAM
+Place: DASFAA 2015
+PlaceUrl: https://web.archive.org/web/20160407053504/http://dasfaa2015.org/
+Location: Hanoi
+Date: 2015-04-20
+
+Title: Provenance Circuits for Trees and Treelike Instances
+Url: nus/amarilli2015provenance_slides.pdf
+Place: National University of Singapore
+PlaceUrl: http://www.nus.edu.sg/
+Date: 2015-04-08
+
+Title: Provenance Circuits for Trees and Treelike Instances
+Url: ic2/amarilli2015provenance_slides.pdf
+Team: IC2
+TeamUrl: http://www.infres.enst.fr/wp/ic2/
+Venue: $TEAM Lunch Seminar
+VenueUrl: http://www.infres.enst.fr/wp/ic2/seminar
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Date: 2015-03-18
+
+Title: Provenance Circuits for Trees and Treelike Instances
+Url: inria_lille/amarilli2015provenance_slides.pdf
+Team: LINKS
+TeamUrl: https://team.inria.fr/links/
+Venue: $TEAM seminar
+VenueFr: séminaire d'équipe $TEAM
+Place: INRIA Lille
+PlaceUrl: https://www.inria.fr/en/centre/lille
+Date: 2015-03-06
+
+
+Title: Déterminer la possibilité en XML probabiliste
+Url: bda2014/amarilli2014determiner_slides.pdf
+Venue: bda2014
+Date: 2014-10-17
+
+Title: Tractable Query Answering under Probabilistic Constraints
+Url: highlights2014/amarilli2014tractable_slides.pdf
+Venue: highlights2014
+Date: 2014-09-04
+Misc: <a href="/publications/amarilli2014tractable.pdf">submitted abstract</a>
+MiscFr: <a href="/publications/amarilli2014tractable.pdf">résumé soumis</a>
+
+Title: Open-World Finite Query Answering Under Number Restrictions
+Url: dagstuhl_constraints/amarilli2014open_slides.pdf
+Venue: Querying and Reasoning Under Expressive Constraints
+VenueUrl: https://www.dagstuhl.de/en/program/calendar/semhp/?semnr=14331
+Place: Schloss Dagstuhl
+PlaceUrl: https://www.dagstuhl.de/
+Date: 2014-08-12
+
+Title: On the Complexity of Mining Itemsets from the Crowd Using Taxonomies
+Url: inria_lille/amarilli2014complexity_slides.pdf
+Team: LINKS
+TeamUrl: https://team.inria.fr/links/
+Venue: $TEAM seminar
+VenueFr: séminaire d'équipe $TEAM
+Place: INRIA Lille
+PlaceUrl: https://www.inria.fr/en/centre/lille
+Date: 2014-07-18
+
+Title: The Possibility Problem for Probabilistic XML
+Url: amw2014/amarilli2014possibility_slides.pdf
+Venue: amw2014
+Date: 2014-06-05
+
+Title: Uncertainty over Structured and Intensional Data
+Url: amw2014/amarilli2014uncertainty_slides.pdf
+Venue: amws2014
+Date: 2014-06-03
+Type: short
+
+Title: Uncertainty in Crowd Data Sourcing Under Structural Constraints
+Url: uncrowd/amarilli2014crowdsourcing_slides.pdf
+Venue: uncrowd2014
+Date: 2014-04-21
+
+Title: On the Complexity of Mining Itemsets from the Crowd Using Taxonomies
+Url: icdt2014/amarilli2014complexity_slides.pdf
+Venue: icdt2014
+Date: 2014-03-24
+
+Title: On the Complexity of Mining Itemsets from the Crowd Using Taxonomies
+Url: tau/amarilli2014complexity_slides.pdf
+Venue: Advanced Topics in Web Data Management seminar
+VenueUrl: https://www.cs.tau.ac.il/~danielde/teaching/Seminar1314.htm
+Place: Tel Aviv University
+PlaceUrl: https://www.tau.ac.il/
+Date: 2014-03-19
+
+Title: La thèse en bref
+Url: rencontres_di/amarilli2014these_slides.pdf
+Team: DI
+TeamUrl: https://www.di.ens.fr/
+Venue: $TEAM meeting
+VenueFr: rencontre du $TEAM
+Place: École normale supérieure
+PlaceUrl: https://www.ens.fr/
+Date: 2014-01-27
+Location: Paris
+Misc: not a professional talk
+MiscFr: exposé non professionnel
+
+Title: Open-World Query Answering Under Number Restrictions
+Url: dahu/amarilli2014open_slides.pdf
+Team: Dahu
+TeamUrl: https://www.inria.fr/equipes/dahu
+Venue: $TEAM working group
+VenueFr: groupe de travail $TEAM
+Place: ENS Cachan
+PlaceUrl: https://www.ens-cachan.fr/
+Date: 2014-01-17
+
+
+Title: Complexity of Merging Ordered Documents
+Url: ic2/amarilli2013complexity_slides.pdf
+Team: IC2
+TeamUrl: http://www.infres.enst.fr/wp/ic2/
+Venue: $TEAM Lunch Seminar
+VenueUrl: http://www.infres.enst.fr/wp/ic2/seminar
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Date: 2013-11-20
+
+Title: Programmation orientée données et systèmes Unix
+Url: semprog/amarilli2013programmation_slides.pdf
+Team: DI
+TeamUrl: https://www.di.ens.fr/
+Venue: $TEAM student seminar on programming languages
+VenueFr: séminaire étudiant du $TEAM sur les langages de programmation
+Place: École normale supérieure
+PlaceUrl: https://www.ens.fr/
+Location: Paris
+Date: 2013-11-07
+
+Title: ParisMatch: Ontology Alignment at scale
+Url: webdone/amarilli2013parismatch_slides.pdf
+Team: WebDam
+TeamUrl: http://webdam.inria.fr/wordpress/?page_id=1208
+Venue: WebDone ($TEAM final workshop)
+VenueFr: WebDone (workshop final $TEAM)
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Date: 2013-09-30
+Type: short
+
+Title: Taxonomy-Based Crowd Mining
+Url: crowdmining/amarilli2013complexity_slides.pdf
+Venue: DBWeb seminar
+VenueFr: Séminaire DBWeb
+VenueUrl: https://a3nm.net/work/seminar/
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Date: 2013-09-10
+
+Title: On the Connections between Relational and XML Probabilistic Data Models
+Url: bncod2013/amarilli2013connections_slides.pdf
+Venue: bncod2013
+Date: 2013-07-09
+
+Title: The Semantic Web, and Related Challenges
+Url: rencontres_di/amarilli2012semantic_slides.pdf
+Team: DI
+TeamUrl: https://www.di.ens.fr/
+Venue: $TEAM meeting
+VenueFr: rencontre du $TEAM
+Place: École normale supérieure
+PlaceUrl: https://www.ens.fr/
+Date: 2012-11-27
+Location: Paris
+
+Title: Advances in Holistic Ontology Alignment
+Url: stage_m2/amarilli2012mpri_slides.pdf
+Venue: DBWeb seminar
+VenueFr: Séminaire DBWeb
+VenueUrl: https://a3nm.net/work/seminar/
+Place: Télécom Paris
+PlaceUrl: https://www.telecom-paris.fr/
+Date: 2012-09-04
+
diff --git a/venues b/venues
@@ -0,0 +1,503 @@
+Id: icde2021
+Url: https://icde2021.gr/
+Type: conference
+OA: no
+Audience: international
+Publisher: IEEE
+
+Id: seqbim2020
+Url: https://seqbim2020.sciencesconf.org/
+Location: Online
+Audience: national
+Type: workshop
+Informal: yes
+
+Id: bda2020
+Url: https://bda.lip6.fr/
+Location: Online
+Audience: national
+Type: conference
+Informal: yes
+
+Id: aaai2021
+Url: https://aaai.org/Conferences/AAAI-21/
+Location: Online
+Audience: international
+Type: conference
+OA: yes
+
+Id: ijcai2021
+Url: https://www.ijcai.org/future_conferences
+Location: Montréal
+Audience: international
+Type: conference
+OA: yes
+
+Id: highlights2020
+Name: Highlights 2020
+Url: http://highlights-conference.org/
+Location: Online
+Audience: international
+Type: conference
+Informal: yes
+
+Id: cikm2020
+Url: https://www.cikm2020.org/
+Location: Online
+Audience: international
+Type: conference
+OA: no
+
+Id: stacs2021
+Url: https://stacs2021.saarland-informatics-campus.de/
+Location: Saarbrücken
+Audience: international
+Type: conference
+OA: yes
+
+Id: icdt2021
+Url: https://databasetheory.org/node/106
+Location: Cyprus
+Audience: international
+Type: conference
+OA: yes
+
+Id: eswc2020
+Url: https://2020.eswc-conferences.org/
+Location: Heraklion
+Audience: international
+Type: conference
+OA: no
+
+Id: ijcai2020
+Url: https://ijcai20.org/
+Location: Yokohama
+Audience: international
+Type: conference
+OA: yes
+
+Id: icdt2020
+Url: https://diku-dk.github.io/edbticdt2020/
+Location: <del>Copenhagen</del>
+Audience: international
+Type: conference
+OA: yes
+
+Id: stacs2020
+Url: https://stacs2020.sciencesconf.org/
+Location: Montpellier
+Audience: international
+Type: conference
+OA: yes
+
+Id: neurips2019
+Name: NeurIPS 2019
+Url: https://nips.cc/
+Location: Vancouver
+Audience: international
+Type: conference
+OA: yes
+
+Id: mfcs2020
+Url: http://mfcs.mff.cuni.cz/2020/
+Location: Prague
+Audience: international
+Type: conference
+OA: yes
+
+Id: mfcs2019
+Url: https://tcs.rwth-aachen.de/mfcs2019/
+Location: Aachen
+Audience: international
+Type: conference
+OA: yes
+
+Id: tcs
+Name: TCS
+Url: https://www.journals.elsevier.com/theoretical-computer-science
+Type: journal
+Audience: international
+OA: no
+
+Id: pods2019
+Url: https://sigmod2019.org/
+Location: Amsterdam
+Audience: international
+Type: conference
+OA: no
+
+Id: ijcai2019
+Url: https://ijcai19.org/
+Location: Macao
+Audience: international
+Type: conference
+OA: yes
+
+Id: icdt2019
+Url: http://edbticdt2019.inesc-id.pt/
+Location: Lisbon
+LocationFr: Lisbonne
+Audience: international
+Type: conference
+OA: yes
+
+Id: jair
+Name: JAIR
+Url: https://www.jair.org/
+Type: journal
+Audience: international
+OA: yes
+
+Id: tods
+Name: TODS
+Url: https://dl.acm.org/journal/tods
+Type: journal
+Audience: international
+OA: no
+
+Id: tocs
+Name: ToCS
+Url: https://www.springer.com/computer/theoretical+computer+science/journal/224
+Type: journal
+Audience: international
+OA: no
+
+Id: gcp2018
+Name: International Workshop on Graphs and Constraints 2018
+Url: http://gt-im-ia.gforge.inria.fr/cp2018.html
+Location: Lille
+Audience: international
+Type: workshop
+
+Id: icalp2018
+Url: https://iuuk.mff.cuni.cz/~icalp2018/
+Location: Prague
+Audience: international
+Type: conference
+OA: yes
+
+Id: cscubs2018
+Url: http://cscubs.cs.uni-bonn.de/2018/
+Location: Bonn
+Audience: national
+Type: workshop
+
+Id: icdt2018
+Url: https://edbticdt2018.at/
+Location: Vienna
+LocationFr: Vienne
+Audience: international
+Type: conference
+OA: yes
+
+Id: pods2018
+Url: https://sigmod2018.org/
+Location: Houston (Texas, United States)
+LocationFr: Houston (Texas, États-Unis)
+Audience: international
+Type: conference
+OA: no
+
+Id: time2017
+Url: http://informatique.umons.ac.be/time2017/
+Location: Mons (Belgium)
+LocationFr: Mons (Belgique)
+Audience: international
+Type: conference
+OA: yes
+
+Id: esslli2017
+Url: https://www.irit.fr/esslli2017/
+Location: Toulouse
+Audience: international
+Type: school
+Invited: yes
+
+Id: parisbd2017
+Name: ParisBD2017
+Url: http://www.paris-bigdata.org/2017/
+Location: Paris
+Audience: national
+Informal: yes
+
+Id: icalp2017
+Url: http://icalp17.mimuw.edu.pl/
+Location: Warsaw
+LocationFr: Varsovie
+Audience: international
+Type: conference
+OA: yes
+
+Id: pods2017
+Url: http://sigmod2017.org/
+Location: Chicago
+Audience: international
+Type: conference
+OA: no
+
+Id: wsdm2017
+Url: http://www.wsdm-conference.org/2017/
+Location: Cambridge (United Kingdom)
+LocationFr: Cambridge (Royaume-Uni)
+Audience: international
+Type: conference
+OA: no
+
+Id: icdt2017
+Url: http://edbticdt2017.unive.it/
+Location: Venice
+LocationFr: Venise
+Audience: international
+Type: conference
+OA: yes
+
+Id: highlights2016
+Name: Highlights 2016
+Url: http://highlights-conference.org/brussels
+Location: Brussels
+LocationFr: Bruxelles
+Audience: international
+Type: conference
+Informal: yes
+
+Id: pods2016
+Url: http://sigmod2016.org/
+Location: San Francisco
+Audience: international
+Type: conference
+OA: no
+
+Id: ijcai2016
+Url: http://ijcai-16.org/index.php/welcome/view/home
+Location: New York
+Audience: international
+Type: conference
+OA: yes
+
+Id: bda2015
+Url: http://bda2015.univ-tln.fr/
+Location: Hyères
+Audience: national
+Type: conference
+Informal: yes
+
+Id: ijcai2015
+Url: http://ijcai-15.org/
+Location: Buenos Aires
+Audience: international
+Type: conference
+OA: yes
+
+Id: icalp2015
+Url: http://www.kurims.kyoto-u.ac.jp/icalp2015/
+Location: Kyoto
+Audience: international
+Type: conference
+OA: yes
+
+Id: lics2015
+Url: https://lics.siglog.org/lics15/
+Location: Kyoto
+Audience: international
+Type: conference
+OA: no
+
+Id: sigmodphd2015
+Name: SIGMOD/PODS Ph.D. Symposium 2015
+Url: https://web.archive.org/web/20170309151324/http://staff.itee.uq.edu.au/shenht/phdsymposium2015/
+Location: Melbourne
+Audience: international
+Type: workshop
+OA: no
+
+Id: webdb2015
+Name: WebDB 2015
+Url: https://web.archive.org/web/20161225031934/http://dbweb.enst.fr/events/webdb2015/
+Location: Melbourne
+Audience: international
+Type: workshop
+OA: no
+
+Id: apweb2014
+Name: APWEB 2014
+Url: http://www.cse.ust.hk/apweb2014/
+Audience: international
+Type: conference
+
+Id: bda2014
+Url: http://bda2014.imag.fr/
+Location: Grenoble-Autrans
+Audience: national
+Type: conference
+Informal: yes
+
+Id: highlights2014
+Name: Highlights 2014
+Url: http://highlights-conference.org/old/2014.php
+Location: Paris
+Audience: international
+Type: conference
+Informal: yes
+
+Id: amw2014
+Url: http://ing.unal.edu.co/eventos/amw2014/
+Location: Cartagena (Colombia)
+LocationFr: Carthagène des Indes
+Type: workshop
+Audience: international
+
+Id: amws2014
+Url: http://ing.unal.edu.co/eventos/amw2014/html/english/tutorial.html
+Location: Cartagena (Colombia)
+LocationFr: Carthagène des Indes
+Type: school
+Audience: international
+
+Id: uncrowd2014
+Url: http://dbweb.enst.fr/events/uncrowd2014/
+Name: UnCrowd 2014
+Location: Denpasar
+Type: workshop
+Audience: international
+
+Id: icdt2014
+Url: http://www.edbticdt2014.gr/
+Location: Athens
+LocationFr: Athènes
+Type: conference
+Audience: international
+OA: yes
+
+Id: dexa2014
+Url: http://www.dexa.org/previous/dexa2014/dexa2014.html
+Type: conference
+Audience: international
+OA: no
+
+Id: bncod2013
+Url: http://www.cs.ox.ac.uk/bncod2013/
+Location: Oxford
+Type: conference
+Audience: national
+OA: no
+
+Id: vlds2012
+Url: https://web.archive.org/web/20161021061647/http://vlds.search-computing.net/
+Type: workshop
+Audience: international
+OA: yes
+
+Id: tgc2012
+Url: http://www.cs.bham.ac.uk/~mdr/research/projects/12-TGC/
+Audience: national
+Type: conference
+
+Id: imacc2011
+Url: http://www.hpl.hp.com/personal/Liqun_Chen/IMACC11-home.htm
+Audience: national
+Type: conference
+
+Id: wistp2011
+Url: http://wistp2011.wistp.org/
+Audience: national
+Type: conference
+
+Id: sum2016
+Url: http://sum2016.unice.fr/
+Type: conference
+Audience: international
+Location: Nice
+OA: no
+
+Id: tldks
+Name: TLDKS
+Url: http://tldks.faw.at/
+Type: journal
+Audience: international
+
+Id: isi
+Name: ISI
+Url: http://isi.revuesonline.com/accueil.jsp
+Type: journal
+Audience: national
+
+Id: vldbj
+Name: VLDB Journal
+Url: http://vldb.org/vldb_journal/
+Type: journal
+Audience: international
+OA: no
+
+Id: jlc
+Name: Journal of Logic and Computation
+Url: https://academic.oup.com/logcom
+Type: journal
+Audience: international
+OA: no
+
+Id: rsl
+Name: Review of Symbolic Logic
+Url: https://www.cambridge.org/core/journals/review-of-symbolic-logic
+Type: journal
+Audience: international
+OA: no
+
+Id: dapd
+Name: Distributed and Parallel Databases
+Url: https://www.springer.com/computer/database+management+%26+information+retrieval/journal/10619
+Type: journal
+Audience: international
+OA: no
+
+Id: icde2015
+Url: https://dblp.org/db/conf/icde/icde2015
+Type: conference
+Audience: international
+OA: no
+
+Id: latin2014
+Url: https://www.fing.edu.uy/eventos/latin2014/
+Type: conference
+Audience: national
+OA: no
+
+Id: sigmod2013
+Url: https://www.sigmod.org/2013/
+Type: conference
+Audience: international
+OA: no
+
+Id: icdt2019
+Url: http://edbticdt2019.inesc-id.pt/
+Location: Lisbon
+LocationFr: Lisbonne
+Audience: international
+Type: conference
+
+Id: bda2016
+Url: http://bda2016.ensma.fr/
+Location: Poitiers
+Audience: national
+Type: conference
+Informal: yes
+
+Id: bda2017
+Url: https://project.inria.fr/bda2017/
+Location: Nancy
+Audience: national
+Type: conference
+Informal: yes
+
+Id: bda2018
+Url: http://bda2018.ensea.fr/
+Location: Bucarest
+Audience: national
+Type: conference
+Informal: yes
+
+Id: tocl
+Name: ToCL
+Url: https://tocl.acm.org/
+Type: journal
+Audience: international
+OA: no