Compare commits
62 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4eb497d494 | ||
|
|
819c434f3d | ||
|
|
b5a7351189 | ||
|
|
3dc9b1a0b4 | ||
|
|
929dc59ee5 | ||
|
|
b6e1458d8a | ||
|
|
8c7ba7afec | ||
|
|
545622b972 | ||
|
|
13e7337574 | ||
|
|
48810caf68 | ||
|
|
fe7c0d2c0f | ||
|
|
2c26b0d25c | ||
|
|
97cc023be5 | ||
|
|
8d58d87a54 | ||
|
|
56c0583c62 | ||
|
|
ad919b1f0e | ||
|
|
abc5d9256c | ||
|
|
fb2fa6242f | ||
|
|
9e5d45adb9 | ||
|
|
c716667801 | ||
|
|
ed86245a2d | ||
|
|
567740ae86 | ||
|
|
0bf3dca9bf | ||
|
|
45a5dff52a | ||
|
|
e6a167c402 | ||
|
|
670c1591c6 | ||
|
|
478affc609 | ||
|
|
65f9ca1558 | ||
|
|
60ee996e36 | ||
|
|
52bc6e5d60 | ||
|
|
74fb5f31f5 | ||
|
|
d370f3dfd6 | ||
|
|
3227807746 | ||
|
|
5862f8d005 | ||
|
|
625fa5c8fe | ||
|
|
cb7d6029c5 | ||
|
|
8aac877413 | ||
|
|
32f53c258a | ||
|
|
c7cb1b335c | ||
|
|
97d066b723 | ||
|
|
f7979fca31 | ||
|
|
765cc8d955 | ||
|
|
d122760794 | ||
|
|
114df6679b | ||
|
|
db5dec4a39 | ||
|
|
93e75cb09e | ||
|
|
5c9bd8e6e8 | ||
|
|
253b9f2e42 | ||
|
|
aa751ec573 | ||
|
|
03dab60bea | ||
|
|
b7e8cfe15a | ||
|
|
cd37d596c1 | ||
|
|
333c85f027 | ||
|
|
1c25a0192c | ||
|
|
0cdc8ce8b3 | ||
|
|
00aa5dec5a | ||
|
|
6bdb5a7e57 | ||
|
|
b114289555 | ||
|
|
31373fba53 | ||
|
|
695520928b | ||
|
|
db9b8bf65b | ||
|
|
e6d2cc59fc |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -22,3 +22,7 @@ DS_STORE
|
||||
|
||||
/config/proxy-https/cert.pem
|
||||
/config/proxy-https/key.pem
|
||||
|
||||
source.json
|
||||
out.json
|
||||
security.yml
|
||||
11
README.md
11
README.md
@@ -12,14 +12,3 @@ Backend for the Contact Hub application based on the mu.semte.ch microservices
|
||||
You can shut down using `docker-compose stop` and remove everything using `docker-compose rm`.
|
||||
|
||||
|
||||
## Add username/password for Basic Auth
|
||||
|
||||
By default, there are two accounts you can use to log-in using basic auth:
|
||||
|
||||
- root/root
|
||||
- contacthub/contacthub
|
||||
|
||||
To add new accounts, execute the following command, then add the result to `./config/proxy/nginx.htpasswd`
|
||||
|
||||
`docker run --rm --entrypoint htpasswd registry:2.7.0 -bn username password`
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ alias Acl.GroupSpec.GraphCleanup, as: GraphCleanup
|
||||
|
||||
defmodule Acl.UserGroups.Config do
|
||||
@protected_resource_type [
|
||||
"http://www.w3.org/ns/org#Organization",
|
||||
"http://www.w3.org/ns/org#Organization",
|
||||
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
|
||||
"http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
|
||||
"http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
|
||||
@@ -24,12 +24,12 @@ defmodule Acl.UserGroups.Config do
|
||||
"http://data.lblod.info/vocabularies/erediensten/VerbondenJuridischeStructuren",
|
||||
"http://www.w3.org/ns/prov#Location",
|
||||
"http://www.w3.org/ns/org#Site",
|
||||
"http://www.w3.org/ns/locn#Address",
|
||||
"http://www.w3.org/ns/locn#Address",
|
||||
"http://www.w3.org/ns/person#Person",
|
||||
"http://data.vlaanderen.be/ns/mandaat#Mandaat",
|
||||
"http://data.vlaanderen.be/ns/mandaat#Mandataris",
|
||||
"http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
|
||||
"http://schema.org/ContactPoint",
|
||||
"http://schema.org/ContactPoint",
|
||||
"http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
|
||||
"http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
|
||||
"http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
|
||||
@@ -75,18 +75,15 @@ defmodule Acl.UserGroups.Config do
|
||||
|
||||
def user_groups do
|
||||
[
|
||||
%GroupSpec{
|
||||
%GroupSpec{
|
||||
name: "acmidm",
|
||||
useage: [:read, :write, :read_for_write],
|
||||
access: %AccessByQuery{
|
||||
query: "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX musession: <http://mu.semte.ch/vocabularies/session/>
|
||||
SELECT ?s WHERE {
|
||||
?s ?p ?o.
|
||||
FILTER NOT EXISTS {
|
||||
<SESSION_ID> ext:hasAccount ?account.
|
||||
}
|
||||
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
|
||||
SELECT ?account WHERE {
|
||||
<SESSION_ID> session:account ?account.
|
||||
} LIMIT 1",
|
||||
vars: []
|
||||
},
|
||||
@@ -112,23 +109,15 @@ defmodule Acl.UserGroups.Config do
|
||||
useage: [:read],
|
||||
access: %AlwaysAccessible{},
|
||||
graphs: [ %GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/public",
|
||||
graph: "http://mu.semte.ch/graphs/public", # mock login only
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: [
|
||||
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
|
||||
"http://xmlns.com/foaf/0.1/Person",
|
||||
"http://xmlns.com/foaf/0.1/OnlineAccount"
|
||||
]
|
||||
} },
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/sessions",
|
||||
constraint: %ResourceFormatConstraint{
|
||||
resource_prefix: "http://mu.semte.ch/sessions/"
|
||||
} } ] },
|
||||
} }]},
|
||||
|
||||
|
||||
|
||||
|
||||
# // CLEANUP
|
||||
#
|
||||
%GraphCleanup{
|
||||
@@ -138,4 +127,4 @@ defmodule Acl.UserGroups.Config do
|
||||
}
|
||||
]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
253
config/db/virtuoso-production.ini
Normal file
253
config/db/virtuoso-production.ini
Normal file
@@ -0,0 +1,253 @@
|
||||
;
|
||||
; virtuoso.ini
|
||||
;
|
||||
; Configuration file for the OpenLink Virtuoso VDBMS Server
|
||||
;
|
||||
; To learn more about this product, or any other product in our
|
||||
; portfolio, please check out our web site at:
|
||||
;
|
||||
; http://virtuoso.openlinksw.com/
|
||||
;
|
||||
; or contact us at:
|
||||
;
|
||||
; general.information@openlinksw.com
|
||||
;
|
||||
; If you have any technical questions, please contact our support
|
||||
; staff at:
|
||||
;
|
||||
; technical.support@openlinksw.com
|
||||
;
|
||||
;
|
||||
; Database setup
|
||||
;
|
||||
[Database]
|
||||
DatabaseFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.db
|
||||
ErrorLogFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.log
|
||||
LockFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.lck
|
||||
TransactionFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.trx
|
||||
xa_persistent_file = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.pxa
|
||||
ErrorLogLevel = 7
|
||||
FileExtend = 200
|
||||
MaxCheckpointRemap = 17000 ;;niels 1/4 of the number of buffers (assuming db uses most of the available buffers, you can check with `status()` in isql-v
|
||||
Striping = 0
|
||||
TempStorage = TempDatabase
|
||||
Syslog = 1 ; write to syslog in case of failures where writing to log is not possible
|
||||
|
||||
[TempDatabase]
|
||||
DatabaseFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso-temp.db
|
||||
TransactionFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso-temp.trx
|
||||
MaxCheckpointRemap = 2000
|
||||
Striping = 0
|
||||
|
||||
;
|
||||
; Server parameters
|
||||
;
|
||||
[Parameters]
|
||||
ServerPort = 1111
|
||||
LiteMode = 0
|
||||
DisableUnixSocket = 1
|
||||
DisableTcpSocket = 0
|
||||
;SSLServerPort = 2111
|
||||
;SSLCertificate = cert.pem
|
||||
;SSLPrivateKey = pk.pem
|
||||
;X509ClientVerify = 0
|
||||
;X509ClientVerifyDepth = 0
|
||||
;X509ClientVerifyCAFile = ca.pem
|
||||
MaxClientConnections = 10
|
||||
CheckpointInterval = 60
|
||||
TraceOn = errors ; write traces
|
||||
O_DIRECT = 0
|
||||
CaseMode = 2
|
||||
MaxStaticCursorRows = 5000
|
||||
CheckpointAuditTrail = 0
|
||||
AllowOSCalls = 0
|
||||
SchedulerInterval = 10
|
||||
DirsAllowed = ., /usr/local/virtuoso-opensource/share/virtuoso/vad
|
||||
ThreadCleanupInterval = 10
|
||||
ThreadThreshold = 10
|
||||
ResourcesCleanupInterval = 10
|
||||
FreeTextBatchSize = 100000
|
||||
SingleCPU = 0
|
||||
VADInstallDir = /usr/local/virtuoso-opensource/share/virtuoso/vad/
|
||||
PrefixResultNames = 0
|
||||
RdfFreeTextRulesSize = 100
|
||||
IndexTreeMaps = 256
|
||||
MaxMemPoolSize = 200000000
|
||||
PrefixResultNames = 0
|
||||
MacSpotlight = 0
|
||||
MaxQueryMem = 4G ; memory allocated to query processor ;;Niels said to 4g
|
||||
VectorSize = 1000 ; initial parallel query vector (array of query operations) size
|
||||
MaxVectorSize = 1000000 ; query vector size threshold.
|
||||
AdjustVectorSize = 0
|
||||
ThreadsPerQuery = 4
|
||||
AsyncQueueMaxThreads = 10
|
||||
TransactionAfterImageLimit = 150000000 ; max 150MB transaction, total transient consumption is 450MB (roll forward + roll back)
|
||||
;;
|
||||
;; When running with large data sets, one should configure the Virtuoso
|
||||
;; process to use between 2/3 to 3/5 of free system memory and to stripe
|
||||
;; storage on all available disks.
|
||||
;;
|
||||
;; Uncomment next two lines if there is 2 GB system memory free
|
||||
;;NumberOfBuffers = 170000
|
||||
;;MaxDirtyBuffers = 130000
|
||||
|
||||
;; Uncomment next two lines if there is 4 GB system memory free
|
||||
;;NumberOfBuffers = 340000
|
||||
;;MaxDirtyBuffers = 250000
|
||||
;; Uncomment next two lines if there is 8 GB system memory free
|
||||
NumberOfBuffers = 680000
|
||||
MaxDirtyBuffers = 500000
|
||||
;; Uncomment next two lines if there is 16 GB system memory free
|
||||
;NumberOfBuffers = 1360000
|
||||
;MaxDirtyBuffers = 1000000
|
||||
;; Uncomment next two lines if there is 32 GB system memory free
|
||||
;NumberOfBuffers = 2720000
|
||||
;MaxDirtyBuffers = 2000000
|
||||
;; Uncomment next two lines if there is 48 GB system memory free
|
||||
;NumberOfBuffers = 4000000
|
||||
;MaxDirtyBuffers = 3000000
|
||||
;; Uncomment next two lines if there is 64 GB system memory free
|
||||
;NumberOfBuffers = 5450000
|
||||
;MaxDirtyBuffers = 4000000
|
||||
;;
|
||||
;; Note the default settings will take very little memory
|
||||
;; but will not result in very good performance
|
||||
;;
|
||||
;NumberOfBuffers = 10000
|
||||
;MaxDirtyBuffers = 6000
|
||||
|
||||
;; Introduced after bug with export service
|
||||
MaxSortedTopRows = 1000000 ; 1 million!
|
||||
|
||||
[HTTPServer]
|
||||
ServerPort = 8890
|
||||
ServerRoot = /usr/local/virtuoso-opensource/var/lib/virtuoso/vsp
|
||||
MaxClientConnections = 10
|
||||
DavRoot = DAV
|
||||
EnabledDavVSP = 0
|
||||
HTTPProxyEnabled = 0
|
||||
TempASPXDir = 0
|
||||
DefaultMailServer = localhost:25
|
||||
ServerThreads = 10
|
||||
MaxKeepAlives = 10
|
||||
KeepAliveTimeout = 10
|
||||
MaxCachedProxyConnections = 10
|
||||
ProxyConnectionCacheTimeout = 15
|
||||
HTTPThreadSize = 280000
|
||||
HttpPrintWarningsInOutput = 0
|
||||
Charset = UTF-8
|
||||
;;HTTPLogFile = http.log
|
||||
MaintenancePage = atomic.html
|
||||
EnabledGzipContent = 1
|
||||
|
||||
[AutoRepair]
|
||||
BadParentLinks = 0
|
||||
|
||||
[Client]
|
||||
SQL_PREFETCH_ROWS = 100
|
||||
SQL_PREFETCH_BYTES = 16000
|
||||
SQL_QUERY_TIMEOUT = 0
|
||||
SQL_TXN_TIMEOUT = 0
|
||||
;SQL_NO_CHAR_C_ESCAPE = 1
|
||||
;SQL_UTF8_EXECS = 0
|
||||
;SQL_NO_SYSTEM_TABLES = 0
|
||||
;SQL_BINARY_TIMESTAMP = 1
|
||||
;SQL_ENCRYPTION_ON_PASSWORD = -1
|
||||
|
||||
[VDB]
|
||||
ArrayOptimization = 0
|
||||
NumArrayParameters = 10
|
||||
VDBDisconnectTimeout = 1000
|
||||
KeepConnectionOnFixedThread = 0
|
||||
|
||||
[Replication]
|
||||
ServerName = db-D602566B774E
|
||||
ServerEnable = 1
|
||||
QueueMax = 50000
|
||||
|
||||
;
|
||||
; Striping setup
|
||||
;
|
||||
; These parameters have only effect when Striping is set to 1 in the
|
||||
; [Database] section, in which case the DatabaseFile parameter is ignored.
|
||||
;
|
||||
; With striping, the database is spawned across multiple segments
|
||||
; where each segment can have multiple stripes.
|
||||
;
|
||||
; Format of the lines below:
|
||||
; Segment<number> = <size>, <stripe file name> [, <stripe file name> .. ]
|
||||
;
|
||||
; <number> must be ordered from 1 up.
|
||||
;
|
||||
; The <size> is the total size of the segment which is equally divided
|
||||
; across all stripes forming the segment. Its specification can be in
|
||||
; gigabytes (g), megabytes (m), kilobytes (k) or in database blocks
|
||||
; (b, the default)
|
||||
;
|
||||
; Note that the segment size must be a multiple of the database page size
|
||||
; which is currently 8k. Also, the segment size must be divisible by the
|
||||
; number of stripe files forming the segment.
|
||||
;
|
||||
; The example below creates a 200 meg database striped on two segments
|
||||
; with two stripes of 50 meg and one of 100 meg.
|
||||
;
|
||||
; You can always add more segments to the configuration, but once
|
||||
; added, do not change the setup.
|
||||
;
|
||||
[Striping]
|
||||
Segment1 = 100M, db-seg1-1.db, db-seg1-2.db
|
||||
Segment2 = 100M, db-seg2-1.db
|
||||
;...
|
||||
;[TempStriping]
|
||||
;Segment1 = 100M, db-seg1-1.db, db-seg1-2.db
|
||||
;Segment2 = 100M, db-seg2-1.db
|
||||
;...
|
||||
;[Ucms]
|
||||
;UcmPath = <path>
|
||||
;Ucm1 = <file>
|
||||
;Ucm2 = <file>
|
||||
;...
|
||||
|
||||
[Zero Config]
|
||||
ServerName = virtuoso (D602566B774E)
|
||||
;ServerDSN = ZDSN
|
||||
;SSLServerName =
|
||||
;SSLServerDSN =
|
||||
|
||||
[Mono]
|
||||
;MONO_TRACE = Off
|
||||
;MONO_PATH = <path_here>
|
||||
;MONO_ROOT = <path_here>
|
||||
;MONO_CFG_DIR = <path_here>
|
||||
;virtclr.dll =
|
||||
|
||||
[URIQA]
|
||||
DynamicLocal = 0
|
||||
DefaultHost = localhost:8890
|
||||
|
||||
[SPARQL]
|
||||
;ExternalQuerySource = 1
|
||||
;ExternalXsltSource = 1
|
||||
;DefaultGraph = http://localhost:8890/dataspace
|
||||
;ImmutableGraphs = http://localhost:8890/dataspace
|
||||
ResultSetMaxRows = 1000000 ; 1 million
|
||||
;MaxQueryCostEstimationTime = 4000 ; in seconds
|
||||
MaxQueryExecutionTime = 1200 ; in seconds
|
||||
DefaultQuery = select distinct ?Concept where {[] a ?Concept} LIMIT 100
|
||||
DeferInferenceRulesInit = 0 ; controls inference rules loading
|
||||
;PingService = http://rpc.pingthesemanticweb.com/
|
||||
|
||||
[Plugins]
|
||||
LoadPath = /usr/local/virtuoso-opensource/lib/virtuoso/hosting
|
||||
;Load1 = plain, wikiv
|
||||
;Load2 = plain, mediawiki
|
||||
;Load3 = plain, creolewiki
|
||||
;Load4 = plain, im
|
||||
;Load5 = plain, wbxml2
|
||||
;Load6 = plain, hslookup
|
||||
;Load7 = attach, libphp5.so
|
||||
;Load8 = Hosting, hosting_php.so
|
||||
;Load9 = Hosting,hosting_perl.so
|
||||
;Load10 = Hosting,hosting_python.so
|
||||
;Load11 = Hosting,hosting_ruby.so
|
||||
;Load12 = msdtc,msdtc_sample
|
||||
@@ -17,85 +17,83 @@
|
||||
;
|
||||
; technical.support@openlinksw.com
|
||||
;
|
||||
|
||||
;
|
||||
; Database setup
|
||||
;
|
||||
[Database]
|
||||
DatabaseFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.db
|
||||
ErrorLogFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.log
|
||||
LockFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.lck
|
||||
TransactionFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.trx
|
||||
xa_persistent_file = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.pxa
|
||||
ErrorLogLevel = 7
|
||||
FileExtend = 200
|
||||
MaxCheckpointRemap = 2000
|
||||
Striping = 0
|
||||
TempStorage = TempDatabase
|
||||
|
||||
DatabaseFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.db
|
||||
ErrorLogFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.log
|
||||
LockFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.lck
|
||||
TransactionFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.trx
|
||||
xa_persistent_file = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.pxa
|
||||
ErrorLogLevel = 7
|
||||
FileExtend = 200
|
||||
MaxCheckpointRemap = 8500 ;;niels 1/4 of the number of buffers (assuming db uses most of the available buffers, you can check with `status()` in isql-v
|
||||
Striping = 0
|
||||
TempStorage = TempDatabase
|
||||
Syslog = 1 ; write to syslog in case of failures where writing to log is not possible
|
||||
|
||||
[TempDatabase]
|
||||
DatabaseFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso-temp.db
|
||||
TransactionFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso-temp.trx
|
||||
MaxCheckpointRemap = 2000
|
||||
Striping = 0
|
||||
|
||||
DatabaseFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso-temp.db
|
||||
TransactionFile = /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso-temp.trx
|
||||
MaxCheckpointRemap = 2000
|
||||
Striping = 0
|
||||
|
||||
;
|
||||
; Server parameters
|
||||
;
|
||||
[Parameters]
|
||||
ServerPort = 1111
|
||||
LiteMode = 0
|
||||
DisableUnixSocket = 1
|
||||
DisableTcpSocket = 0
|
||||
ServerPort = 1111
|
||||
LiteMode = 0
|
||||
DisableUnixSocket = 1
|
||||
DisableTcpSocket = 0
|
||||
;SSLServerPort = 2111
|
||||
;SSLCertificate = cert.pem
|
||||
;SSLPrivateKey = pk.pem
|
||||
;X509ClientVerify = 0
|
||||
;X509ClientVerifyDepth = 0
|
||||
;X509ClientVerifyCAFile = ca.pem
|
||||
MaxClientConnections = 10
|
||||
CheckpointInterval = 60
|
||||
O_DIRECT = 0
|
||||
TraceOn = errors ; log errors
|
||||
MaxClientConnections = 10
|
||||
CheckpointInterval = 60
|
||||
TraceOn = errors ; write traces
|
||||
O_DIRECT = 0
|
||||
CaseMode = 2
|
||||
MaxStaticCursorRows = 5000
|
||||
CheckpointAuditTrail = 0
|
||||
AllowOSCalls = 0
|
||||
SchedulerInterval = 10
|
||||
DirsAllowed = ., /usr/local/virtuoso-opensource/share/virtuoso/vad
|
||||
ThreadCleanupInterval = 10
|
||||
ThreadThreshold = 10
|
||||
ResourcesCleanupInterval = 10
|
||||
FreeTextBatchSize = 100000
|
||||
SingleCPU = 0
|
||||
VADInstallDir = /usr/local/virtuoso-opensource/share/virtuoso/vad/
|
||||
PrefixResultNames = 0
|
||||
RdfFreeTextRulesSize = 100
|
||||
IndexTreeMaps = 256
|
||||
MaxMemPoolSize = 200000000
|
||||
PrefixResultNames = 0
|
||||
MacSpotlight = 0
|
||||
MaxQueryMem = 2G
|
||||
VectorSize = 1000 ; initial parallel query vector (array of query operations) size
|
||||
MaxVectorSize = 1000000 ; query vector size threshold.
|
||||
AdjustVectorSize = 0
|
||||
ThreadsPerQuery = 4
|
||||
AsyncQueueMaxThreads = 10
|
||||
TransactionAfterImageLimit = 150000000 ; max 150MB transaction, total transient consumption is 450MB (roll forward + roll back)
|
||||
CaseMode = 2
|
||||
MaxStaticCursorRows = 5000
|
||||
CheckpointAuditTrail = 0
|
||||
AllowOSCalls = 0
|
||||
SchedulerInterval = 10
|
||||
DirsAllowed = ., /usr/local/virtuoso-opensource/share/virtuoso/vad
|
||||
ThreadCleanupInterval = 10
|
||||
ThreadThreshold = 10
|
||||
ResourcesCleanupInterval = 10
|
||||
FreeTextBatchSize = 100000
|
||||
SingleCPU = 0
|
||||
VADInstallDir = /usr/local/virtuoso-opensource/share/virtuoso/vad/
|
||||
PrefixResultNames = 0
|
||||
RdfFreeTextRulesSize = 100
|
||||
IndexTreeMaps = 256
|
||||
MaxMemPoolSize = 200000000
|
||||
PrefixResultNames = 0
|
||||
MacSpotlight = 0
|
||||
IndexTreeMaps = 64
|
||||
MaxQueryMem = 2G ; memory allocated to query processor
|
||||
VectorSize = 1000 ; initial parallel query vector (array of query operations) size
|
||||
MaxVectorSize = 1000000 ; query vector size threshold.
|
||||
AdjustVectorSize = 1
|
||||
ThreadsPerQuery = 4
|
||||
AsyncQueueMaxThreads = 10
|
||||
;;
|
||||
;; When running with large data sets, one should configure the Virtuoso
|
||||
;; process to use between 2/3 to 3/5 of free system memory and to stripe
|
||||
;; storage on all available disks.
|
||||
;;
|
||||
;; Uncomment next two lines if there is 2 GB system memory free
|
||||
NumberOfBuffers = 170000
|
||||
MaxDirtyBuffers = 130000
|
||||
;;NumberOfBuffers = 170000
|
||||
;;MaxDirtyBuffers = 130000
|
||||
|
||||
;; Uncomment next two lines if there is 4 GB system memory free
|
||||
;NumberOfBuffers = 340000
|
||||
; MaxDirtyBuffers = 250000
|
||||
NumberOfBuffers = 340000
|
||||
MaxDirtyBuffers = 250000
|
||||
;; Uncomment next two lines if there is 8 GB system memory free
|
||||
;NumberOfBuffers = 680000
|
||||
;MaxDirtyBuffers = 500000
|
||||
@@ -111,38 +109,45 @@ MaxDirtyBuffers = 130000
|
||||
;; Uncomment next two lines if there is 64 GB system memory free
|
||||
;NumberOfBuffers = 5450000
|
||||
;MaxDirtyBuffers = 4000000
|
||||
;;
|
||||
;; Note the default settings will take very little memory
|
||||
;; but will not result in very good performance
|
||||
;;
|
||||
;NumberOfBuffers = 10000
|
||||
;MaxDirtyBuffers = 6000
|
||||
|
||||
;; Introduced after bug with export service
|
||||
MaxSortedTopRows = 1000000 ; 1 million!
|
||||
|
||||
[HTTPServer]
|
||||
ServerPort = 8890
|
||||
ServerRoot = /usr/local/virtuoso-opensource/var/lib/virtuoso/vsp
|
||||
MaxClientConnections = 10
|
||||
DavRoot = DAV
|
||||
EnabledDavVSP = 0
|
||||
HTTPProxyEnabled = 0
|
||||
TempASPXDir = 0
|
||||
DefaultMailServer = localhost:25
|
||||
ServerThreads = 10
|
||||
MaxKeepAlives = 10
|
||||
KeepAliveTimeout = 10
|
||||
MaxCachedProxyConnections = 10
|
||||
ProxyConnectionCacheTimeout = 15
|
||||
HTTPThreadSize = 280000
|
||||
HttpPrintWarningsInOutput = 0
|
||||
Charset = UTF-8
|
||||
;;HTTPLogFile = http.log
|
||||
MaintenancePage = atomic.html
|
||||
EnabledGzipContent = 1
|
||||
|
||||
ServerPort = 8890
|
||||
ServerRoot = /usr/local/virtuoso-opensource/var/lib/virtuoso/vsp
|
||||
MaxClientConnections = 10
|
||||
DavRoot = DAV
|
||||
EnabledDavVSP = 0
|
||||
HTTPProxyEnabled = 0
|
||||
TempASPXDir = 0
|
||||
DefaultMailServer = localhost:25
|
||||
ServerThreads = 10
|
||||
MaxKeepAlives = 10
|
||||
KeepAliveTimeout = 10
|
||||
MaxCachedProxyConnections = 10
|
||||
ProxyConnectionCacheTimeout = 15
|
||||
HTTPThreadSize = 280000
|
||||
HttpPrintWarningsInOutput = 0
|
||||
Charset = UTF-8
|
||||
;;HTTPLogFile = http.log
|
||||
MaintenancePage = atomic.html
|
||||
EnabledGzipContent = 1
|
||||
|
||||
[AutoRepair]
|
||||
BadParentLinks = 0
|
||||
BadParentLinks = 0
|
||||
|
||||
[Client]
|
||||
SQL_PREFETCH_ROWS = 100
|
||||
SQL_PREFETCH_BYTES = 16000
|
||||
SQL_QUERY_TIMEOUT = 0
|
||||
SQL_TXN_TIMEOUT = 0
|
||||
SQL_PREFETCH_ROWS = 100
|
||||
SQL_PREFETCH_BYTES = 16000
|
||||
SQL_QUERY_TIMEOUT = 0
|
||||
SQL_TXN_TIMEOUT = 0
|
||||
;SQL_NO_CHAR_C_ESCAPE = 1
|
||||
;SQL_UTF8_EXECS = 0
|
||||
;SQL_NO_SYSTEM_TABLES = 0
|
||||
@@ -150,16 +155,15 @@ SQL_TXN_TIMEOUT = 0
|
||||
;SQL_ENCRYPTION_ON_PASSWORD = -1
|
||||
|
||||
[VDB]
|
||||
ArrayOptimization = 0
|
||||
NumArrayParameters = 10
|
||||
VDBDisconnectTimeout = 1000
|
||||
KeepConnectionOnFixedThread = 0
|
||||
ArrayOptimization = 0
|
||||
NumArrayParameters = 10
|
||||
VDBDisconnectTimeout = 1000
|
||||
KeepConnectionOnFixedThread = 0
|
||||
|
||||
[Replication]
|
||||
ServerName = db-D602566B774E
|
||||
ServerEnable = 1
|
||||
QueueMax = 50000
|
||||
|
||||
ServerName = db-D602566B774E
|
||||
ServerEnable = 1
|
||||
QueueMax = 50000
|
||||
|
||||
;
|
||||
; Striping setup
|
||||
@@ -191,28 +195,24 @@ QueueMax = 50000
|
||||
; added, do not change the setup.
|
||||
;
|
||||
[Striping]
|
||||
Segment1 = 100M, db-seg1-1.db, db-seg1-2.db
|
||||
Segment2 = 100M, db-seg2-1.db
|
||||
Segment1 = 100M, db-seg1-1.db, db-seg1-2.db
|
||||
Segment2 = 100M, db-seg2-1.db
|
||||
;...
|
||||
|
||||
;[TempStriping]
|
||||
;Segment1 = 100M, db-seg1-1.db, db-seg1-2.db
|
||||
;Segment2 = 100M, db-seg2-1.db
|
||||
;...
|
||||
|
||||
;[Ucms]
|
||||
;UcmPath = <path>
|
||||
;Ucm1 = <file>
|
||||
;Ucm2 = <file>
|
||||
;...
|
||||
|
||||
|
||||
[Zero Config]
|
||||
ServerName = virtuoso (D602566B774E)
|
||||
ServerName = virtuoso (D602566B774E)
|
||||
;ServerDSN = ZDSN
|
||||
;SSLServerName =
|
||||
;SSLServerDSN =
|
||||
|
||||
;SSLServerName =
|
||||
;SSLServerDSN =
|
||||
|
||||
[Mono]
|
||||
;MONO_TRACE = Off
|
||||
@@ -221,31 +221,28 @@ ServerName = virtuoso (D602566B774E)
|
||||
;MONO_CFG_DIR = <path_here>
|
||||
;virtclr.dll =
|
||||
|
||||
|
||||
[URIQA]
|
||||
DynamicLocal = 0
|
||||
DefaultHost = localhost:8890
|
||||
|
||||
DynamicLocal = 0
|
||||
DefaultHost = localhost:8890
|
||||
|
||||
[SPARQL]
|
||||
;ExternalQuerySource = 1
|
||||
;ExternalXsltSource = 1
|
||||
;DefaultGraph = http://localhost:8890/dataspace
|
||||
;ImmutableGraphs = http://localhost:8890/dataspace
|
||||
ResultSetMaxRows = 10000
|
||||
MaxQueryCostEstimationTime = 400 ; in seconds
|
||||
MaxQueryExecutionTime = 60 ; in seconds
|
||||
DefaultQuery = select distinct ?Concept where {[] a ?Concept} LIMIT 100
|
||||
DeferInferenceRulesInit = 0 ; controls inference rules loading
|
||||
;PingService = http://rpc.pingthesemanticweb.com/
|
||||
|
||||
;ExternalXsltSource = 1
|
||||
;DefaultGraph = http://localhost:8890/dataspace
|
||||
;ImmutableGraphs = http://localhost:8890/dataspace
|
||||
ResultSetMaxRows = 1000000 ; 1 million
|
||||
;MaxQueryCostEstimationTime = 4000 ; in seconds
|
||||
MaxQueryExecutionTime = 1200 ; in seconds
|
||||
DefaultQuery = select distinct ?Concept where {[] a ?Concept} LIMIT 100
|
||||
DeferInferenceRulesInit = 0 ; controls inference rules loading
|
||||
;PingService = http://rpc.pingthesemanticweb.com/
|
||||
|
||||
[Plugins]
|
||||
LoadPath = /usr/local/virtuoso-opensource/lib/virtuoso/hosting
|
||||
LoadPath = /usr/local/virtuoso-opensource/lib/virtuoso/hosting
|
||||
;Load1 = plain, wikiv
|
||||
;Load2 = plain, mediawiki
|
||||
;Load3 = plain, creolewiki
|
||||
;Load4 = plain, im
|
||||
;Load4 = plain, im
|
||||
;Load5 = plain, wbxml2
|
||||
;Load6 = plain, hslookup
|
||||
;Load7 = attach, libphp5.so
|
||||
@@ -253,4 +250,4 @@ LoadPath = /usr/local/virtuoso-opensource/lib/virtuoso/hosting
|
||||
;Load9 = Hosting,hosting_perl.so
|
||||
;Load10 = Hosting,hosting_python.so
|
||||
;Load11 = Hosting,hosting_ruby.so
|
||||
;Load12 = msdtc,msdtc_sample
|
||||
;Load12 = msdtc,msdtc_sample
|
||||
@@ -1,7 +1,9 @@
|
||||
export default [
|
||||
{
|
||||
match: {
|
||||
subject: {
|
||||
graph: {
|
||||
type: "uri",
|
||||
value: "http://mu.semte.ch/graphs/contacthub/141d9d6b-54af-4d17-b313-8d1c30bc3f5b/ChAdmin"
|
||||
}
|
||||
},
|
||||
callback: {
|
||||
|
||||
@@ -5,14 +5,17 @@ defmodule Dispatcher do
|
||||
html: ["text/html", "application/xhtml+html"],
|
||||
json: ["application/json", "application/vnd.api+json"],
|
||||
upload: ["multipart/form-data"],
|
||||
sparql_json: ["application/sparql-results+json"],
|
||||
any: [ "*/*" ],
|
||||
]
|
||||
|
||||
define_layers [ :api_services, :api, :frontend, :not_found ]
|
||||
|
||||
|
||||
###############################################################
|
||||
# domain.json
|
||||
###############################################################
|
||||
|
||||
match "/people/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/people/"
|
||||
end
|
||||
@@ -145,14 +148,6 @@ defmodule Dispatcher do
|
||||
Proxy.forward conn, path, "http://cache/minister-conditions/"
|
||||
end
|
||||
|
||||
match "/associated-legal-structures/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/associated-legal-structures/"
|
||||
end
|
||||
|
||||
match "/dates-of-birth/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/dates-of-birth/"
|
||||
end
|
||||
|
||||
match "/nationalities/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/nationalities/"
|
||||
end
|
||||
@@ -160,6 +155,9 @@ defmodule Dispatcher do
|
||||
match "/gender-codes/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/gender-codes/"
|
||||
end
|
||||
match "/concepts/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/concepts/"
|
||||
end
|
||||
|
||||
match "/minister-positions/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/minister-positions/"
|
||||
@@ -177,10 +175,6 @@ defmodule Dispatcher do
|
||||
Proxy.forward conn, path, "http://cache/minister-condition-criterions/"
|
||||
end
|
||||
|
||||
match "/legal-form-types/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/legal-form-types/"
|
||||
end
|
||||
|
||||
match "/document-types-criterions/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/document-types-criterions/"
|
||||
end
|
||||
@@ -189,13 +183,20 @@ defmodule Dispatcher do
|
||||
Proxy.forward conn, path, "http://cache/site-types/"
|
||||
end
|
||||
|
||||
match "/request-reasons/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/request-reasons/"
|
||||
end
|
||||
|
||||
###############
|
||||
# LOGIN
|
||||
###############
|
||||
match "/accounts/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://resource/accounts/"
|
||||
|
||||
match "/accounts", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, [], "http://resource/accounts/"
|
||||
end
|
||||
match "/accounts/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://accountdetail/accounts/"
|
||||
end
|
||||
|
||||
match "/groups/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://resource/groups/"
|
||||
end
|
||||
@@ -208,21 +209,15 @@ defmodule Dispatcher do
|
||||
Proxy.forward conn, path, "http://login/sessions/"
|
||||
end
|
||||
|
||||
|
||||
###############
|
||||
# API SERVICES
|
||||
###############
|
||||
|
||||
match "/v3/api-docs/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
forward conn, path, "http://kalliope-api/v3/api-docs/"
|
||||
end
|
||||
|
||||
match "/delta/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
forward conn, path, "http://kalliope-api/delta/"
|
||||
end
|
||||
|
||||
match "/bulk/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
forward conn, path, "http://kalliope-api/bulk"
|
||||
end
|
||||
|
||||
match "/changes/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
forward conn, path, "http://kalliope-api/changes/"
|
||||
end
|
||||
@@ -243,12 +238,17 @@ defmodule Dispatcher do
|
||||
forward conn, path, "http://privacy/person-information-requests"
|
||||
end
|
||||
|
||||
get "/uri-info/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
forward conn, path, "http://uri-info/"
|
||||
end
|
||||
|
||||
|
||||
###############################################################
|
||||
# frontend layer
|
||||
###############################################################
|
||||
match "/torii/redirect.html", %{ accept: [:html], layer: :api } do
|
||||
Proxy.forward conn, [], "http://frontend/torii/redirect.html"
|
||||
|
||||
match "/authorization/callback/*_path", %{ accept: [:html], layer: :api } do
|
||||
Proxy.forward conn, [], "http://frontend/torii/redirect.html"
|
||||
end
|
||||
|
||||
match "/assets/*path", %{ layer: :api } do
|
||||
@@ -267,9 +267,18 @@ defmodule Dispatcher do
|
||||
Proxy.forward conn, [], "http://frontend/index.html"
|
||||
end
|
||||
|
||||
###############################################################
|
||||
# sparql endpoint
|
||||
###############################################################
|
||||
|
||||
post "/sparql/*path", %{ layer: :api_services, accept: %{ sparql_json: true } } do
|
||||
forward conn, path, "http://db:8890/sparql/"
|
||||
end
|
||||
|
||||
###############################################################
|
||||
# errors
|
||||
###############################################################
|
||||
|
||||
match "/*_path", %{ accept: [:any], layer: :not_found} do
|
||||
send_resp( conn, 404, "{\"error\": {\"code\": 404}")
|
||||
end
|
||||
|
||||
3
config/frontend/add-x-frame-options-header.conf
Normal file
3
config/frontend/add-x-frame-options-header.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
location / {
|
||||
add_header X-Frame-Options "DENY" always;
|
||||
}
|
||||
0
config/kalliope/bulk/.gitkeep
Normal file
0
config/kalliope/bulk/.gitkeep
Normal file
9
config/kalliope/security-dev.yml
Normal file
9
config/kalliope/security-dev.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
# disabled on dev
|
||||
application:
|
||||
security:
|
||||
enabled: false
|
||||
spring:
|
||||
autoconfigure:
|
||||
exclude:
|
||||
- org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
|
||||
- org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration
|
||||
@@ -0,0 +1,32 @@
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX dcterms: <http://purl.org/dc/terms/>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX ext:<http://mu.semte.ch/vocabularies/ext/>
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?s ?p ?o
|
||||
}
|
||||
} INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> a besluit:Bestuurseenheid ;
|
||||
mu:uuid "141d9d6b-54af-4d17-b313-8d1c30bc3f5b" ;
|
||||
skos:prefLabel "Agentschap Binnenlands Bestuur" ;
|
||||
dcterms:identifier "OVO001835" .
|
||||
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> a foaf:Person ;
|
||||
mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3470" ;
|
||||
foaf:firstName "Josephine" ;
|
||||
foaf:familyName "Putseys" ;
|
||||
foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> ;
|
||||
foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0956> .
|
||||
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0956> a foaf:OnlineAccount ;
|
||||
mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0956" ;
|
||||
foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service>;
|
||||
ext:sessionRole "ChAdmin".
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?s ?p ?o
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/contacthub/141d9d6b-54af-4d17-b313-8d1c30bc3f5b/ChAdmin> {
|
||||
<http://lblod.data.gift/concept-schemes/6f6f95d3-94e1-48a7-99ec-cdff57e6752d> a <http://www.w3.org/2004/02/skos/core#ConceptScheme>;
|
||||
<http://www.w3.org/2004/02/skos/core#prefLabel> "Data sources"@en, "Databronnen"@nl .
|
||||
<http://lblod.data.gift/concepts/e59c97a9-4e95-4d65-9696-756de47fbc1f> a <http://www.w3.org/2004/02/skos/core#Concept>;
|
||||
<http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/6f6f95d3-94e1-48a7-99ec-cdff57e6752d>;
|
||||
<http://www.w3.org/2004/02/skos/core#topConceptOf><http://lblod.data.gift/concept-schemes/6f6f95d3-94e1-48a7-99ec-cdff57e6752d>;
|
||||
<http://mu.semte.ch/vocabularies/core/uuid> "e59c97a9-4e95-4d65-9696-756de47fbc1f";
|
||||
<http://www.w3.org/2004/02/skos/core#prefLabel> "Centraal Referentieadressenbestand (CRAB)";
|
||||
<http://www.w3.org/2004/02/skos/core#altLabel> "CRAB".
|
||||
}
|
||||
}
|
||||
|
||||
14
config/migrations/20211119151700-move-reason-codes.sparql
Normal file
14
config/migrations/20211119151700-move-reason-codes.sparql
Normal file
@@ -0,0 +1,14 @@
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/application> {
|
||||
?s ?p ?o
|
||||
}
|
||||
} INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/contacthub/141d9d6b-54af-4d17-b313-8d1c30bc3f5b/ChAdmin> {
|
||||
?s ?p ?o
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/application> {
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/ReasonCode>;
|
||||
?p ?o.
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX person: <http://www.w3.org/ns/person#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/contacthub/141d9d6b-54af-4d17-b313-8d1c30bc3f5b/ChAdmin> {
|
||||
?s persoon:heeftGeboorte ?heeftGeboorte .
|
||||
?s persoon:registratie ?registration .
|
||||
?registration generiek:gestructureerdeIdentificator ?identificator .
|
||||
?identificator ?x ?y .
|
||||
?registration ?t ?j .
|
||||
?s persoon:geslacht ?geslacht .
|
||||
?s persoon:heeftNationaliteit ?nationaliteit .
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
|
||||
?s persoon:heeftGeboorte ?heeftGeboorte .
|
||||
?s persoon:registratie ?registration .
|
||||
?registration generiek:gestructureerdeIdentificator ?identificator .
|
||||
?identificator ?x ?y .
|
||||
?registration ?t ?j .
|
||||
?s persoon:geslacht ?geslacht .
|
||||
?s persoon:heeftNationaliteit ?nationaliteit .
|
||||
}
|
||||
}
|
||||
WHERE
|
||||
{ GRAPH <http://mu.semte.ch/graphs/contacthub/141d9d6b-54af-4d17-b313-8d1c30bc3f5b/ChAdmin>
|
||||
{
|
||||
?s a person:Person.
|
||||
OPTIONAL
|
||||
{ ?s persoon:heeftGeboorte ?heeftGeboorte .
|
||||
?heeftGeboorte
|
||||
?p ?o
|
||||
}
|
||||
OPTIONAL
|
||||
{ ?s persoon:registratie ?registration .
|
||||
?registration
|
||||
generiek:gestructureerdeIdentificator ?identificator .
|
||||
?identificator
|
||||
?x ?y .
|
||||
?registration
|
||||
?t ?j
|
||||
}
|
||||
OPTIONAL
|
||||
{ ?s persoon:geslacht ?geslacht }
|
||||
OPTIONAL
|
||||
{ ?s persoon:heeftNationaliteit ?nationaliteit }
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
server {
|
||||
listen *:443;
|
||||
server_name organisaties.abb.lblod.info;
|
||||
ssl on;
|
||||
ssl_certificate /etc/nginx/conf.d/cert.pem;
|
||||
ssl_certificate_key /etc/nginx/conf.d/key.pem;
|
||||
|
||||
location / {
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_pass http://identifier;
|
||||
client_max_body_size 3072m;
|
||||
}
|
||||
|
||||
location ~ /authorization/callback(.*) {
|
||||
rewrite ^ /torii/redirect.html permanent;
|
||||
}
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
events {
|
||||
|
||||
}
|
||||
|
||||
http {
|
||||
server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
server_name dev.contacthub.lblod.info;
|
||||
|
||||
location /v3/api-docs {
|
||||
auth_basic "Contact Hub realm";
|
||||
auth_basic_user_file /etc/nginx/conf.d/nginx.htpasswd;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_pass http://identifier;
|
||||
client_max_body_size 3072m;
|
||||
}
|
||||
|
||||
location /delta {
|
||||
auth_basic "Contact Hub realm";
|
||||
auth_basic_user_file /etc/nginx/conf.d/nginx.htpasswd;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_pass http://identifier;
|
||||
client_max_body_size 3072m;
|
||||
}
|
||||
|
||||
location /bulk {
|
||||
auth_basic "Contact Hub realm";
|
||||
auth_basic_user_file /etc/nginx/conf.d/nginx.htpasswd;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_pass http://identifier;
|
||||
client_max_body_size 3072m;
|
||||
}
|
||||
|
||||
location /changes {
|
||||
auth_basic "Contact Hub realm";
|
||||
auth_basic_user_file /etc/nginx/conf.d/nginx.htpasswd;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_pass http://identifier;
|
||||
client_max_body_size 3072m;
|
||||
}
|
||||
|
||||
location /consolidated {
|
||||
auth_basic "Contact Hub realm";
|
||||
auth_basic_user_file /etc/nginx/conf.d/nginx.htpasswd;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_pass http://identifier;
|
||||
client_max_body_size 3072m;
|
||||
}
|
||||
|
||||
|
||||
location / {
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_pass http://identifier;
|
||||
client_max_body_size 3072m;
|
||||
}
|
||||
|
||||
location ~ /authorization/callback(.*) {
|
||||
rewrite ^ /torii/redirect.html permanent;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -55,26 +55,6 @@
|
||||
"target": "agents-in-position",
|
||||
"cardinality": "many",
|
||||
"inverse": true
|
||||
},
|
||||
"registration": {
|
||||
"predicate": "persoon:registratie",
|
||||
"target": "identifiers",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"date-of-birth": {
|
||||
"predicate": "persoon:heeftGeboorte",
|
||||
"target": "dates-of-birth",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"nationalities": {
|
||||
"predicate": "persoon:heeftNationaliteit",
|
||||
"target": "nationalities",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"gender": {
|
||||
"predicate": "persoon:geslacht",
|
||||
"target": "gender-codes",
|
||||
"cardinality": "one"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/personen/"
|
||||
@@ -429,11 +409,6 @@
|
||||
"cardinality": "many",
|
||||
"inverse": true
|
||||
},
|
||||
"associated-structures": {
|
||||
"predicate": "ere:heeftVerbondenEntiteit",
|
||||
"target": "associated-legal-structures",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"minister-positions": {
|
||||
"predicate": "ere:wordtBediendDoor",
|
||||
"target": "minister-positions",
|
||||
@@ -616,6 +591,18 @@
|
||||
"full-address": {
|
||||
"type": "string",
|
||||
"predicate": "locn:fullAddress"
|
||||
},
|
||||
"address-register-uri": {
|
||||
"type": "url",
|
||||
"predicate": "adres:verwijstNaar"
|
||||
}
|
||||
|
||||
},
|
||||
"relationships": {
|
||||
"source": {
|
||||
"predicate": "dct:source",
|
||||
"target": "concepts",
|
||||
"cardinality": "one"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/adressen/"
|
||||
@@ -684,6 +671,20 @@
|
||||
},
|
||||
"new-resource-base": "http://lblod.data.gift/concepts/"
|
||||
},
|
||||
"concepts": {
|
||||
"class": "skos:Concept",
|
||||
"attributes": {
|
||||
"label": {
|
||||
"type": "string",
|
||||
"predicate": "skos:prefLabel"
|
||||
},
|
||||
"alt-label": {
|
||||
"type": "string",
|
||||
"predicate": "skos:altLabel"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://lblod.data.gift/concepts/"
|
||||
},
|
||||
"organization-status-codes": {
|
||||
"class": "code:OrganisatieStatusCode",
|
||||
"attributes": {
|
||||
@@ -771,43 +772,6 @@
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/voorwaardenBedienaar/"
|
||||
},
|
||||
"associated-legal-structures": {
|
||||
"class": "ere:VerbondenJuridischeStructuren",
|
||||
"attributes": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"predicate": "skos:prefLabel"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"registration": {
|
||||
"predicate": "regorg:registration",
|
||||
"target": "identifiers",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"legal-type": {
|
||||
"predicate": "organisatie:rechtsvorm",
|
||||
"target": "legal-form-types",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"address": {
|
||||
"predicate": "locn:address",
|
||||
"target": "addresses",
|
||||
"cardinality": "one"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/verbondenJuridischeStructuren/"
|
||||
},
|
||||
"dates-of-birth": {
|
||||
"class": "persoon:Geboorte",
|
||||
"attributes": {
|
||||
"date": {
|
||||
"type": "datetime",
|
||||
"predicate": "persoon:datum"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/geboortes/"
|
||||
},
|
||||
"nationalities": {
|
||||
"class": "euvoc:Country",
|
||||
"attributes": {
|
||||
@@ -891,16 +855,6 @@
|
||||
},
|
||||
"new-resource-base": "http://lblod.data.gift/concepts/"
|
||||
},
|
||||
"legal-form-types": {
|
||||
"class": "code:Rechtsvormtype",
|
||||
"attributes": {
|
||||
"label": {
|
||||
"type": "string",
|
||||
"predicate": "skos:prefLabel"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://lblod.data.gift/concepts/"
|
||||
},
|
||||
"document-types-criterions": {
|
||||
"class": "code:BedienaarCriteriumBewijsstuk",
|
||||
"attributes": {
|
||||
|
||||
@@ -12,4 +12,5 @@
|
||||
(defparameter *supply-cache-headers-p* t)
|
||||
|
||||
(read-domain-file "domain.json")
|
||||
(read-domain-file "auth.json")
|
||||
(read-domain-file "auth.json")
|
||||
(read-domain-file "privacy-centric-service.json")
|
||||
20
config/resources/privacy-centric-service.json
Normal file
20
config/resources/privacy-centric-service.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": "0.1",
|
||||
"prefixes": {
|
||||
"skos": "http://www.w3.org/2004/02/skos/core#",
|
||||
"ext": "http://mu.semte.ch/vocabularies/ext/"
|
||||
},
|
||||
"resources": {
|
||||
"request-reasons": {
|
||||
"name": "request-reason",
|
||||
"class": "ext:ReasonCode",
|
||||
"attributes": {
|
||||
"label": {
|
||||
"type": "string",
|
||||
"predicate": "skos:prefLabel"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/information-request-reason/"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,8 @@ version: '3.4'
|
||||
services:
|
||||
identifier:
|
||||
restart: "no"
|
||||
ports:
|
||||
- "80:80"
|
||||
dispatcher:
|
||||
restart: "no"
|
||||
triplestore:
|
||||
@@ -18,6 +20,8 @@ services:
|
||||
cache:
|
||||
restart: "no"
|
||||
kalliope-api:
|
||||
environment:
|
||||
SPRING_SECURITY_CONFIG: "/config/security-dev.yml"
|
||||
restart: "no"
|
||||
deltanotifier:
|
||||
restart: "no"
|
||||
@@ -29,9 +33,14 @@ services:
|
||||
restart: "no"
|
||||
login:
|
||||
restart: "no"
|
||||
web:
|
||||
ports:
|
||||
- "80:80"
|
||||
accountdetail:
|
||||
restart: "no"
|
||||
privacy:
|
||||
restart: "no"
|
||||
adressenregister:
|
||||
restart: "no"
|
||||
frontend:
|
||||
image: lblod/frontend-contact-hub:latest
|
||||
restart: "no"
|
||||
uri-info:
|
||||
restart: "no"
|
||||
|
||||
@@ -9,9 +9,10 @@ x-logging:
|
||||
|
||||
services:
|
||||
identifier:
|
||||
image: semtech/mu-identifier:1.8.1
|
||||
image: semtech/mu-identifier:1.9.1
|
||||
environment:
|
||||
DEFAULT_MU_AUTH_ALLOWED_GROUPS_HEADER: "[{\"variables\":[],\"name\":\"public\"}]"
|
||||
SESSION_COOKIE_SECURE: "on"
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
@@ -32,8 +33,6 @@ services:
|
||||
volumes:
|
||||
- ./data/db:/data
|
||||
- ./config/db/virtuoso.ini:/data/virtuoso.ini
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
db:
|
||||
@@ -47,6 +46,10 @@ services:
|
||||
ERROR_ON_UNWRITTEN_DATA: "true"
|
||||
volumes:
|
||||
- ./config/authorization:/config
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
migrations:
|
||||
image: semtech/mu-migrations-service:0.7.0
|
||||
links:
|
||||
@@ -58,7 +61,7 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
resource:
|
||||
image: semtech/mu-cl-resources:latest
|
||||
image: semtech/mu-cl-resources:feature-all-errors-as-json-api-errors
|
||||
links:
|
||||
- db:database
|
||||
volumes:
|
||||
@@ -76,7 +79,7 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
kalliope-api:
|
||||
image: lblod/jsonld-delta-service:0.2.0
|
||||
image: lblod/jsonld-delta-service:0.3.2
|
||||
volumes:
|
||||
- ./config/kalliope:/config
|
||||
- ./data/files:/share
|
||||
@@ -84,11 +87,18 @@ services:
|
||||
SERVER_PORT: "80"
|
||||
LOGGING_LEVEL: "INFO"
|
||||
SPARQL_ENDPOINT: "http://db:8890/sparql"
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
deltanotifier:
|
||||
image: semtech/mu-delta-notifier:0.1.0
|
||||
volumes:
|
||||
- ./config/delta:/config
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
sink:
|
||||
image: nginx:1.15.2
|
||||
volumes:
|
||||
@@ -98,49 +108,72 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
login:
|
||||
image: lblod/acmidm-login-service:0.9.2-organisatie_portaal
|
||||
image: lblod/acmidm-login-service:0.9.3-organisatie_portaal
|
||||
links:
|
||||
- db:database
|
||||
environment:
|
||||
MU_APPLICATION_GRAPH: "http://mu.semte.ch/graphs/contacthub/accounts"
|
||||
MU_APPLICATION_AUTH_DISCOVERY_URL: "https://authenticatie-ti.vlaanderen.be/op"
|
||||
MU_APPLICATION_AUTH_CLIENT_ID: "677af572-2e2f-4e61-ad38-036723bb314c"
|
||||
MU_APPLICATION_AUTH_REDIRECT_URI: "https://organisaties.abb.lblod.info/authorization/callback"
|
||||
MU_APPLICATION_AUTH_CLIENT_SECRET: ""
|
||||
MU_APPLICATION_AUTH_CLIENT_SECRET: "secret"
|
||||
links:
|
||||
- db:database
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
links:
|
||||
- db:database
|
||||
accountdetail:
|
||||
image: lblod/account-detail-service:latest
|
||||
labels:
|
||||
- "logging=true"
|
||||
environment:
|
||||
MU_APPLICATION_GRAPH: "http://mu.semte.ch/graphs/contacthub/accounts"
|
||||
links:
|
||||
- db:database
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
privacy:
|
||||
image: lblod/privacy-centric-service:0.0.1
|
||||
image: lblod/privacy-centric-service:0.1.1
|
||||
labels:
|
||||
- "logging=true"
|
||||
environment:
|
||||
SERVER_PORT: "80"
|
||||
SPARQL_ENDPOINT: "http://db:8890/sparql"
|
||||
LOGGING_LEVEL: "INFO"
|
||||
DEFAULT_GRAPH: "http://mu.semte.ch/graphs/contacthub/141d9d6b-54af-4d17-b313-8d1c30bc3f5b/ChAdmin"
|
||||
DEFAULT_GRAPH: "http://mu.semte.ch/graphs/privacy-centric-graph"
|
||||
SESSION_GRAPH: "http://mu.semte.ch/graphs/sessions"
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
adressenregister:
|
||||
image: lblod/adressenregister-fuzzy-search-service:0.5.0
|
||||
web:
|
||||
image: nginx
|
||||
volumes:
|
||||
- ./config/proxy:/etc/nginx/conf.d
|
||||
- ./config/proxy/web.conf:/etc/nginx/nginx.conf:ro
|
||||
links:
|
||||
- identifier:identifier
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
frontend:
|
||||
image: lblod/frontend-contact-hub:1.1.0
|
||||
labels:
|
||||
- "logging=true"
|
||||
image: lblod/frontend-contact-hub:1.3.0
|
||||
volumes:
|
||||
- ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf
|
||||
environment:
|
||||
EMBER_OAUTH_API_REDIRECT_URL: "https://organisaties.abb.lblod.info/authorization/callback"
|
||||
EMBER_OAUTH_API_KEY: "677af572-2e2f-4e61-ad38-036723bb314c"
|
||||
EMBER_OAUTH_API_BASE_URL: "https://authenticatie-ti.vlaanderen.be/op/v1/auth"
|
||||
EMBER_OAUTH_API_LOGOUT_URL: "https://authenticatie-ti.vlaanderen.be/op/v1/logout"
|
||||
EMBER_OAUTH_API_SCOPE: "openid vo profile abb_organisatieportaal"
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
uri-info:
|
||||
image: redpencil/mu-uri-info-service:0.2.1
|
||||
links:
|
||||
- db:database
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
|
||||
Reference in New Issue
Block a user