2. Recap of what we did
Geographic data from Google API
http://Maps.googleapis.com
Trade Register data
http://www.brra.bg/
Open Government Data:
Procurements and European projects in principle
https://opendata.government.bg/dataset/projectslist/resource/4ab9e162-
a0c5-4bc2-94a6-5bdb2bbbb94b
3. Data Model
Government Open Data
:GovernmentProcurement Държавна
поръчка :Procurement_190862
:principle Фирма възложител
:Company_000740495
:contractor Фирма изпълнител
:Company_201064812
Trade Register
:hasManager*, :hadDirector*,
:hasSoleCapitalOwner ->
:hasInfluencingPerson
Google Maps
geo-pos:lat, geo-pos:long
4. Top 5
Connected
Companies
We are exploring which are the companies, connected
to largest number of other companies. The numbers
represent that Company A is connected via common
active board member to “n” other companies. They
need to have at least one common board member. In
order to escape false positives, we selected only
companies that have board member with unique
identifier – (EGN || LNCH) In order to make sure, that
the linked companies are not, actually a bunch of
companies owned by a single person (Like the case of
Робърт Артур Скорупка), we have selected only
companies with more than 3 board members *Let me
know if this makes sense
5. easy
SELECT ?c1 ?c2 ?c1_mane ?c2_mane ?no_man WHERE { ?c1
a :Company; bottom:prefLabel ?c1_mane;
:hasActiveManager ?am1. FILTER ( regex( str(?am1),
"(_LNCH_)|(_EGN_)")) ?c2 a :Company;
:hasActiveManager ?am2; bottom:prefLabel
?c2_mane; :identifier ?id2. ?c1
:hasActiveManager ?am2 MINUS {?c1 :identifier ?id2}.
{ SELECT ?c1 (COUNT (DISTINCT ?c2) AS
?no_con) (COUNT (DISTINCT ?am1) AS ?no_man) WHERE {
?c1 a :Company; :hasActiveManager ?am1.
FILTER ( regex( str(?am1), "(_LNCH_)|(_EGN_)"))
?c2 a :Company; :hasActiveManager ?am2;
:identifier ?id2. ?c1 :hasActiveManager ?am2
MINUS {?c1 :identifier ?id2} } GROUP BY ?c1
HAVING (?no_man>3) ORDER BY DESC (?no_con)
LIMIT 5 } }
7. People who influence both principle
and contractor
SELECT ?p_name ?p ?proc ?c_name ?c
?c2_name ?c2 ?val ?cur
WHERE {
?proc a :GovernmentProcurement ;
:principle ?c ;
:contractor ?c2 ;
:currencyValue ?val ;
:currency ?cur .
?c :hasInfluencingPerson ?p ;
skos:prefLabel ?c_name .
?c2 :hasInfluencingPerson ?p ;
skos:prefLabel ?c2_name .
?p skos:prefLabel ?p_name .
FILTER (?c != ?c2)
FILTER NOT EXISTS {
?p skos:prefLabel ?p_name .
FILTER ( regex( lcase(?p_name),
"(.*община.*)|(.*държавата.*)|(.*министерст
во.*)" ))
}
} ORDER BY DESC (?val)
8. http://ec2-34-249-186-171.eu-west-
1.compute.amazonaws.com/sparql
Information provided above does not imply that there is any conflict of interest in the examples!
It just show-cases that it is possible to view via Linked Open Data people that are influencing
both a principle and a Contractor of a government procurement. We do not imply that
the companies or the individuals Here have a conflict of interest! Investigative Journalists ought
To figure out what is going on.