Open WolfgangFahl opened 1 week ago
Current data model:
classDiagram
namespace snapquery{
class QueryStatsList {
name: string [opt]
}
class QueryStats {
stats_id: string [req]
query_id: string [req]
endpoint_name: string [req]
context: string [opt]
records: integer [opt]
time_stamp: time [opt]
duration: float [opt]
error_msg: string [opt]
filtered_msg: string [opt]
}
class QueryDetails {
query_id: string [req]
params: string [req]
params_count: integer [req]
lines: integer [req]
size: integer [req]
}
class QueryBundle
class NamedQuery {
query_id: string [req]
namespace: string [req]
name: string [req]
sparql: string [opt]
url: string [opt]
title: string [opt]
description: string [opt]
comment: string [opt]
}
class NamedQueryManager {
sql_db: string [opt]
samples_path: string [opt]
primary_keys: string [opt]
entity_infos: string [opt]
}
class NamedQueryList {
name: string [opt]
}
}
QueryStatsList --> "0..*" QueryStats : stats
QueryBundle *--> "0..1" Endpoint : endpoint
QueryBundle *--> "0..1" Query : query
QueryBundle --> "0..1" NamedQuery : named_query
NamedQueryManager *--> "0..*" Endpoint : endpoints
NamedQueryList --> "0..*" NamedQuery : queries
namespace lodstorage {
class Query {
name: string [req]
query: string [req]
lang: string [opt]
endpoint: string [opt]
database: string [opt]
title: string [opt]
description: string [opt]
limit: integer [opt]
prefixes: string [opt]
tryItUrl: string [opt]
formats: string [opt]
}
class Endpoint {
name: string [req]
lang: string [req]
endpoint: uri [req]
website: uri [opt]
database: string [opt]
method: string [opt]
prefixes: string [opt]
auth: string [opt]
user: string [opt]
password: string [opt]
}
class Params {
illegal_chars: string [opt]
query: string [opt]
pattern: string [opt]
params: string [opt]
params_dict: string [opt]
has_params: boolean [opt]
}
}
e.g. Query, Parameters, Graph, Endpoint and other most relevant domain elements. Optionally create a technical view mapping these concepts to the implementation details such as python, SPARQL, SQL and yaml with links to the definitions. Therefore e.g. a DDL derived from the current SQLIte implementation makes sense and maybe a LinkML description.