InstaLOC + Openstreetmap = Zusammenlegung und Erweiterung der Analyseoptionen

Durch die Zusammenführung beider Datenbanken wird eine wechselseitige Analyse auf Basis von

CREATE TABLE locations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
lat STRING,
long STRING,
name STRING,
osm_type STRING,
house_number STRING,
road STRING,
city STRING,
county STRING,
state_district STRING,
state STRING,
postcode STRING,
country STRING,
country_code STRING,
suburb STRING,
building STRING,
ruins STRING,
city_district STRING,
commercial STRING,
museum STRING,
library STRING,
aerodome STRING,
raceway STRING,
hamlet STRING,
hotel STRING,
clothes STRING,
parking STRING,
theatre STRING,
restaurant STRING,
footway STRING,
residental STRING,
supermarket STRING,
attraction STRING,
memorial STRING,
school STRING,
mall STRING,
beach STRING,
place_of_worship STRING,
hairdresser STRING,
stadium STRING,
bank STRING,
viewpoint STRING,
neigbourhood STRING,
university STRING,
car STRING,
zoo STRING,
fuel STRING,
bakery STRING,
bar STRING,
bus_stop STRING,
artwork STRING,
guest_house STRING,
village STRING,
cycleway STRING,
industrial STRING,
town STRING,
retail STRING,
wood STRING,
adress29 STRING,
residential STRING,
locality STRING,
garden STRING,
track STRING,
fast_food STRING,
pharmacy STRING,
picnic_site STRING,
castle STRING,
water STRING,
theme_park STRING,
golf_course STRING,
fort STRING,
car_wash STRING,
chemist STRING,
pedestrian STRING,
books STRING,
clinic STRING,
playground STRING,
community_centre STRING,
travel_agency STRING,
swimming_pool STRING,
sports_centre STRING,
hospital STRING,
florist STRING,
public_building STRING,
arts_centre STRING,
town_hall STRING,
cafe STRING,
pub STRING,
car_rental STRING,
fire_station STRING,
college STRING,
information STRING,
construction STRING,
viewpoint STRING
);

erlaubt. Themenwelten und Zielgruppen lassen sich nun auf Basis von hinterlegten Hotels, Straßen, PLZ, Stadtteilen oder auch Restaurants anstellen.

Hinweis: SQLite-Dateien in Excel öffnen und da weiter verarbeiten (InstaLOC und HashtagDB)

Irgendwer aus dem „Netzwerk“ gab mir bei einem Telefonat einen interessanten Hinweis zu den Potentialen von Excel. Wir sprachen da u.a. darüber, dass die freigegebenen SQLite-Datenbanken aus den Projekten „Hashtag-Reichweiten“ und „InstaLoc“ zu viele Auswertungs- und Analyseprobleme provozieren können.

Eine Option beschreibt
https://yourbusiness.azcentral.com/connecting-excel-sqlite-12971.html

und man benötigt für die dargestellte Funktion das Plugin http://www.ch-werner.de/sqliteodbc/.

Möchte man hierüber unsere Dateien anbinden, muss an der entsprechenden Einlesestelle (siehe verlinkter Blogbeitrag!) die Option „SQLite-3“ ausgewählt werden. Die nachgeschaltete EXCEL-Oberfläche ist relativ selbsterklärend. Mit den konkreten Auswertungsfunktionen habe ich mich nicht beschäftigt und ich kann an der Stelle auch keinerlei Support zu den Queries geben.

InstaLOC – Sichtung und Abfragen bzgl. der „Themenweltdatenbank“

Für die Prüfung und auch „Eichung“ der erweiterten Datenquelle (hier: Tagsearch mit Ergänzung zu den Locations) wurde eine Themenweltdatenbank angelegt, welche auch durch aktuelles Zeitgeschehen inspiriert ist.

Der Scraper benötigte 20 Stunden für die Erfassung der Daten, wobei diese Zeit auf 2 Tage verteilt und eine Liste mit ca. 6000 „Spezialterms“ abgearbeitet wurde.

Datenbankstatistik:
Anz. Einträge: 1238290
Anz. Filter: 45
Anz. Tagsclouds: 1011505
Anz. Locations: 110648
Anz. Accounts: 553799
Anz. Posting/Zeitstempel: 806680
Dateigröße (Byte): 689319936

Beispielabfragen:
(1) select location, erstellzeit from locations where (tag like ‚%22aXX%22‘) and (tag like ‚%22mXXXXXXXXXXXX%22′) and (location <> ’null‘);

Übersetzung:
Hole alle Locations und Erstellzeitpunkte (Zeitstempel) aus der Datenbank, wo die „tag like“ Bedingungen zutreffen und eine Location hinterlegt ist.
Ergebnisse:
771 Einträge

(2) select count(distinct(location)) from locations where (tag like ‚%22aXX%22‘) and (tag like ‚%22mXXXXXXXXXXXX%22′) and (location <> ’null‘);
Übersetzung:
Hole Locations aus der Datenbank, wo die „tag like“ Bedingungen zutreffen und eine Location hinterlegt ist.
Ergebnisse:
99 Einträge (für count(distinct(location)),
Liste (PDF, Locations, für „select location“)
Liste (PDF, Erstellzeit + Location, für „select location, erstellzeit“)

(3) select count(username) from locations where (tag like ‚%22aXX%22‘) and (tag like ‚%22mXXXXXXXXXXX%22‘);
Übersetzung:
Zähle die Accounts zusammen, wo in den Tagwolken die 2 abgefragten Terms vorkommen.
Ergebnisse:
3077 Einträge

(Instagram)-Locationprojekt, Hashtagcloudanalysen nach Usernamen (Leipzig-Datenbank)

Das Programm kann, in der aktuellen Version, zwischen „%suchwort%“ und „=suchwort“ unterscheiden. Bei der letzteren Option werden alle Ergebnisse ausgeworfen, wo der Term – als Hauptstring – in den Tagclouds zu finden ist (Gegenteil zu der Substringvariante).

Inhaltsschema:
Spalte (1) -> Nummer
Spalte (2) -> Username
Spalte (3) -> Tagcloud
Spalte (4) -> Summe Tagcloud, Vorkommen der Tagcloud je Username

Hinweis:
Sämtliche Accountnamen sind in den nachfolgenden Datensätzen – selbstverständlich – verschlüsselt.

(1) Substring: „city“: city_usersum
(2) Substring: „mensa“: mensa_usersum
(3) Hauptstring: „sport“: -sport-_usersum
(4) Substring: „sport“: sport_usersum
(5) Substring: „fest“: fest_usersum
(6) Substring: „farbfilm“: farbfilm_usersum
(7) Substring: „sommer“: sommer_usersum
(8) Substring: „frühling“: frühling_usersum
(9) Substring: „herbst“: herbst_usersum
(10) Substring: „stadt“: stadt_usersum
(11) Hauptstring: „messe“: -messe-_usersum
(12) Substring: „hafen“: hafen_usersum
(13) Substring: „halle“: halle_usersum
(14) Substring: „design“: design_usersum
(15) Substring: „hochschule“: hochschule_usersum
(16) Substring: „kunst“: kunst_usersum
(17) Substring: „film“: film_usersum
(18) Substring: „dokleipzig“: dokleipzig_usersum
(19) Substring: „leipzig“: leipzig_usersum
(20) Hauptstring: „urlaub“: -urlaub-_usersum
(21) Substring: „urlaub“: urlaub_usersum
(22) Substring: „bar“: bar_usersum
(23) Substring: „deko“: deko_usersum
(24) Substring: „feiern“: feiern_usersum

(Instagram)-Locationprojekt, Hashtagcloudanalysen nach Orten (Berlin-Datenbank)

Heute fand ich Gelegenheit, das Projekt in einer ersten Version zu compilieren. Dieses beinhaltet auch die Funktion der Auflistung von Tagclouds nach Locations inkl. deren Aufsummierung.

Folgende Dateien liefern erste Interpretationsgrundlagen zu den Locationbewertungen.

Inhaltsschema:
Spalte (1) -> Nummer
Spalte (2) -> Tagcloud
Spalte (3) -> Location
Spalte (4) -> Location-ID
Spalte (5) -> Summe Tagcloud, Vorkommen der Tagcloud in der Location

Beispiele.
Die nachfolgenden Datensätze basieren auf die Query „like ‚%suchwort%'“ und erfragen die Ergebnisse auf Substringebene.

(1) Substring: „working“: working_locsumm
(2) Substring: „work“: work_locsumm
(3) Substring: „office“: office_locsumm
(4) Substring: „neukölln“: neukölln_locsumm
(5) Substring: „kunst“: kunst_locsumm
(6) Substring: „job“: job_locsumm
(7) Substring: „happy“: happy_locsumm
(8) Substring: „foodporn“: foodporn_locsumm
(9) Substring: „food“: food_locsumm
(10) Substring: „feiern“: feiern_locsumm
(11) Substring: „fashion“: fashion_locsumm
(12) Substring: „coworking“: coworking_locsumm
(13) Substring: „berlin“: berlin_locsumm
(14) Substring: „advokat“: advokat_locsumm

Basis-SQLabfragen (Projekt: Instagramlocations)

Notiz für mich:
Auflistung der Standardabfragen, ohne Anspruch auf Tiefenanalysen.

(1) Statistiken, „KPI“
select count(*), count(distinct(filter)), count(distinct(url)), count(distinct(tag)), count(distinct(location)), count(distinct(username)), count(distinct(erstellzeit)) from locations;

(2) Überblick, Auflistung der erfassten Accounts
select username from locations group by username;

(3) Auflistung der erfassten Accounts zzgl. Zusammenzählung der Beiträge der jeweiligen Accounts
select username, count(username) from locations group by username order by count(username) DESC

(4) Auflistung der erfassten Accounts zzgl. Zusammenzählung der Beiträge der jeweiligen Accounts + Zusammenzählung der Locations
select username, count(username), count(distinct(location)) from locations group by username order by count(distinct(location)) DESC;

(5) Auflistung der erfassten Locations zzgl. Zusammenzählung der Locations
select location, count(location) from locations group by location order by count(location) DESC;

(6) Auflistung der erfassten Locations zzgl. Zusammenzählung der Locations bei Vorkommen eines Tags / Zeichenketten
select location, count(location) from locations where tag like '%gucci%' group by location order by count(location) DESC

(7) Auflistung der erfassten Usernames zzgl. Zusammenzählung der Usernames bei Vorkommen eines Tags / Zeichenketten
select username, count(username) from locations where tag like '%fashion%' group by location order by count(username) DESC

(8) Auflistung der erfassten Tags zzgl. Zusammenzählung der Tags bei Vorkommen von zwei gesuchten Tags / Zeichenketten
select tag, count(tag) from locations where (tag like '%fashion%') and (tag like '%woman%') group by location order by count(tag) DESC;

Tabellen, Daten etc. aus einer SQLite-Datenbank exportieren

Auf der Suche nach entsprechenden Möglichkeiten entdeckte ich das folgende Tool:
SQLite Export
Diese interessante Anwendung exportiert aus unserer Hashtagdatenbank ca. 70 Mio Datensätze in die Formate xls, html, txt und csv innerhalb von maximal 10 Minuten.

Eine weitere und freie Anwendung ist das „SQLiteStudio„. Diese erlaubt, neben den Exportfunktionen, auch das komplette Management einer SQLite-Datei, sowie auch den Import via CSV.

Hashtagprojekt – Einblicke in die Datenbank, Tagliste(n) und Queries

Der angedockte Client wurde um entsprechende Exportfunktionen erweitert und das Projekt beherbergt folgende Datensätze:

(a) Queries
Diese Angaben beschreiben die Tags, welche via API als Suchanfrage verarbeitet werden.

Downloads
searchview_0-9.zip
searchview_a-z.zip

(b) erfasste Tags
Diese Angaben sind das Ergebnis aus (a). Bitte hier beachten, dass die Listen ungewichtet sind und keine Häufungen ausgeben.

Downloads
tagview_0-9.zip
tagview_a-f.zip
tagview_g-m.zip
tagview_n-s.zip
tagview_t-z.zip

Updatenotiz: Datenbank – Hashtagprojekt

Das folgende Diagram beschreibt das Datenbankvolumen in seiner Entwicklung seit Relaunch des Systems:

Download: dbueberblick

Zur Erklärung:
Die Bezeichnung „Unique-Tags“ beschreibt die Summe der gefundenen und „einzigartigen“ Terms / Tags  und die Bezeichnung „Datensätze“ gibt Aufschluss darüber, wieviele Datensätze (also: unique-tag, Häufung) im kompletten Zeitraum erfasst worden sind.

Die Exporte wurden ebenfalls etwas modifiziert. Diese liefern ab sofort die Ergebnisse – wahlweise – in den Formaten „.xlsx“ und „.csv“ über die EMail-Schnittstelle zurück. Beispiele sind (a) Liste => „Theater“ (ungenau) und (b) Wolke => „Theater“ (ungenau).

Updatenotiz zum Projekt „Instagram-Hashtag-Datenbank“

Nach einigen interessanten Diskussionen und Beobachtungen entschieden wir uns zu einem Systemwechsel.

Dies bedeutet:
– die Scripte und die Datenbanken werden zeitnah vom Server gelöscht
– die Reichweitendaten (Zeitraum: Sommer – 2015 bis Sommer 2016) werden archiviert und in das DB-Management eine Windows-Anwendung übertragen
– Reichweitenprüfzeiträume werden auf mindestens 15 Minuten getaktet

Durch den Übertrag auf eine Windows-Anwendung werden vor allem tiefergehende Interpretationsmöglichkeiten zu den Tags, den Themenwelten und den Medienhäufungen // Reichweiten möglich.
Ich werde mich bei passender Gelegenheit auf diesem Blog zu den Reports äußern und ggf. Beispieldatensätze veröffentlichen.