From 3d08907215332117ebf9b2fd71a8af355ecf8c2d Mon Sep 17 00:00:00 2001 From: Richard Hadden Date: Wed, 23 Jun 2021 12:02:25 +0200 Subject: [PATCH 1/2] statement has non-null property (wildcard) --- prosopogrAPhI.yaml | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/prosopogrAPhI.yaml b/prosopogrAPhI.yaml index ab379b1..d2acf9b 100644 --- a/prosopogrAPhI.yaml +++ b/prosopogrAPhI.yaml @@ -1,6 +1,6 @@ openapi: 3.0.2 info: - version: 0.3.3 + version: 0.3.2 title: prosopogrAPhI description: basic prosopographical data API license: @@ -13,7 +13,7 @@ paths: /factoids: get: summary: Returns array of factoids - description: Returns an array of `Factoid` objects. The number of array members returned with each response is restricted by the **size** parameter. Factoids can be filtered by setting additional parameters like **personId** or **p**. Factoids are sorted by default by date of creation time. + description: Returns an array of `Factoid` objects. The number of array members returned with each response is restricted by the **size** parameter. Factoids can be filtered by setting additional parameters like **personId** or **p**. Factoids are sorted by default by date of creation time. Statement-specific parameters (e.g. **place**, **memberOf**) accept a asterisk (*) to require that parameter to have any non-null value. operationId: getFactoids parameters: - $ref: '#/components/parameters/size' @@ -123,7 +123,7 @@ paths: /persons: get: summary: Get persons - description: Returns an array of `Person` objects. The number of array members returned with each response is restricted by the **size** parameter. Persons can be filtered by setting additional parameters like **factoidId** or **f**. TODO Further parameters for filtering have to be specified. + description: Returns an array of `Person` objects. The number of array members returned with each response is restricted by the **size** parameter. Persons can be filtered by setting additional parameters like **factoidId** or **f**. Statement-specific parameters (e.g. **place**, **memberOf**) accept a asterisk (*) to require that parameter to have any non-null value. TODO Further parameters for filtering have to be specified. operationId: getPersons parameters: - $ref: '#/components/parameters/size' @@ -241,7 +241,7 @@ paths: /sources: get: summary: Returns array of source objects. - description: Returns array of `source` objects. The number of array members returned with each response is restricted by the **size** parameter. Sources can be filtered by setting additional parameters like **factoidId** or **f**. TODO Further parameters for filtering have to be specified. + description: Returns array of `source` objects. The number of array members returned with each response is restricted by the **size** parameter. Sources can be filtered by setting additional parameters like **factoidId** or **f**. Statement-specific parameters (e.g. **place**, **memberOf**) accept a asterisk (*) to require that parameter to have any non-null value. TODO Further parameters for filtering have to be specified. operationId: getSources parameters: - $ref: '#/components/parameters/size' @@ -354,7 +354,7 @@ paths: /statements: get: summary: Returns array of statement objects - description: Returns array of `Statement` objects. The number of array members returned with each response is restricted by the **size** parameter. Statements can be filtered by setting additional parameters like **factoidId** or **f**. TODO Further parameters for filtering have to be specified. + description: Returns array of `Statement` objects. The number of array members returned with each response is restricted by the **size** parameter. Statements can be filtered by setting additional parameters like **factoidId** or **f**. Statement-specific parameters (e.g. **place**, **memberOf**) accept a asterisk (*) to require that parameter to have any non-null value. TODO Further parameters for filtering have to be specified. operationId: getStatements parameters: - $ref: '#/components/parameters/size' @@ -460,7 +460,7 @@ components: p: name: p in: query - description: filters the current resource by a search in direct properties of person object (id, uri) + description: filter by applying a pattern on persons (fulltext search) schema: type: string statementId: @@ -472,7 +472,7 @@ components: st: name: st in: query - description: filters by applying a pattern on statements (fulltext search). This filter will be combined by an AND operator with all other filters applicable to statements (statementText, role, from, to, place, name, relatesToPerson, memberOf). + description: filter by applying a pattern on statements (fulltext search) schema: type: string sourceId: @@ -490,7 +490,7 @@ components: f: name: f in: query - description: filter by applying a pattern on factoid metadata (fulltext search) + description: filter by applying a pattern on factoid (fulltext search) schema: type: string factoidId: @@ -502,49 +502,49 @@ components: statementText: name: statementText in: query - description: filters by any keyword occurring in the statement content. This filter will be combined by an AND operator with all other filters applicable to statements (st, role, from, to, place, name, relatesToPerson, memberOf). + description: filter by any keyword occurring in the statement content schema: type: string role: name: role in: query - description: filters by a keyword occuring in the role property of a statement. The filter applies to the human readable label and the URI provided. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, from, to, place, name, relatesToPerson, memberOf). + description: could be URI or label schema: type: string from: name: from in: query - description: 'all dates after the event date (including the event date itself) will be included. If `from` and `to` are the same, only a single exact date is included. Fragments (yyyy, yyyy-mm) will be interpreted as exact time ranges if the second parameter is missing (`from=yyyy-mm` is interpreted as `from=start of month`, `to=end of month`. If conflicting data is present, for example ``from=yyyy&to=yyyy-mm-dd`, the most correct interpretation will be decided on by the backend. For instance, the example before will be interpreted as `from=yyyy-01-01&to=yyyy-mm-dd`. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, to, place, name, relatesToPerson, memberOf).' + description: 'all dates after the event date (including the event date) will be included. If `from` and `to` are the same, only a single exact date is included. Fragments (yyyy, yyyy-mm) will be interpreted as exact time ranges if the second parameter is missing (`from=yyyy-mm` is interpreted as `from=start of month`, `to=end of month`. If conflicting data is present, for example ``from=yyyy&to=yyyy-mm-dd`, the most correct interpretation will be decided on by the backend. For instance, the example before will be interpreted as `from=yyyy-01-01&to=yyyy-mm-dd`.' schema: type: string to: name: to in: query - description: 'all dates before the event date (including the event date itself) will be included. If `from` and `to` are the same, only a single exact date is included. Fragments (yyyy, yyyy-mm) will be interpreted as exact time ranges if the second parameter is missing (`from=yyyy-mm` is interpreted as `from=start of month`, `to=end of month`. If conflicting data is present, for example ``from=yyyy&to=yyyy-mm-dd`, the most correct interpretation will be decided on by the backend. For instance, the example before will be interpreted as `from=yyyy-01-01&to=yyyy-mm-dd`. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, place, name, relatesToPerson, memberOf).' + description: 'all dates before the event date (including the event date) will be included. If `from` and `to` are the same, only a single exact date is included. Fragments (yyyy, yyyy-mm) will be interpreted as exact time ranges if the second parameter is missing (`from=yyyy-mm` is interpreted as `from=start of month`, `to=end of month`. If conflicting data is present, for example ``from=yyyy&to=yyyy-mm-dd`, the most correct interpretation will be decided on by the backend. For instance, the example before will be interpreted as `from=yyyy-01-01&to=yyyy-mm-dd`.' schema: type: string place: name: place in: query - description: filters by a keyword occuring in the place property of a statement. The filter applies to the human readable label and the URI provided. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, to, name, relatesToPerson, memberOf). + description: could be URI or label schema: type: string relatesToPerson: name: relatesToPerson in: query - description: filters by a keyword occuring in the relations to other persons property of a statement. The filter applies to the human readable label and the URI provided. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, to, place, name, memberOf). + description: could be URI or label schema: type: string memberOf: name: memberOf in: query - description: filters by a keyword occuring in the membership in organisation property of a statement. The filter applies to the human readable label and the URI provided. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, to, place, name, relatesToPerson). + description: could be URI or label schema: type: string name: name: name in: query - description: filters by a keyword occuring in the names of a person. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, to, place, relatesToPerson, memberOf). + description: names of a person schema: type: string createdBefore: @@ -568,12 +568,10 @@ components: modifiedBefore: name: createdBefore in: query - description: sets terminus antequo for filtering the date of modification of the current resource. schema: type: string modifiedAfter: name: createdAfter - description: sets terminus postquem for filtering the date of modification of the current resource. in: query schema: type: string @@ -745,9 +743,6 @@ components: properties: '@id': $ref: '#/components/schemas/id' - label: - type: string - description: 'A human readable identification of the person for easy processing in selection scenarios. This identification is considered to be unstable, does not have to be stored in the backend (i.e. it might be created algorithmically on the fly from a currente state of data stored), can be ommitted (then the @id can be used as default) and is not processed in POST or PUT requests. In practice, this label would typically be constructed from statements on names, basic biographical dates (birth, death) and maybe a claim of fame / occupation, but the decision how to construct this label would be completely under responsibility of the service provider.' uris: $ref: '#/components/schemas/uris' createdBy: @@ -795,7 +790,6 @@ components: page: 2 persons: - '@id': Andreas_Reuter - label: Andreas Reuter, Autor, um 1650 uris: - 'http://pez-digital.at/persons#Mauro_Aspini' factoid-refs: @@ -810,7 +804,6 @@ components: statement-refs: - '@id': Pez1_809_1 - '@id': Placidus_Seiz - label: Seitz, Placidus, Theologe, Abt, Schriftsteller, Benediktiner, 1672-1736. uris: - 'http://d-nb.info/gnd/10102407X' - 'https://viaf.org/viaf/5285530/' From 772449b718e2a927d77755e11b7fe8727332084c Mon Sep 17 00:00:00 2001 From: Richard Hadden Date: Fri, 25 Jun 2021 10:31:17 +0200 Subject: [PATCH 2/2] statement has non-null property (wildcard) --- prosopogrAPhI.yaml | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/prosopogrAPhI.yaml b/prosopogrAPhI.yaml index d2acf9b..3c68441 100644 --- a/prosopogrAPhI.yaml +++ b/prosopogrAPhI.yaml @@ -1,6 +1,6 @@ openapi: 3.0.2 info: - version: 0.3.2 + version: 0.3.3 title: prosopogrAPhI description: basic prosopographical data API license: @@ -241,7 +241,7 @@ paths: /sources: get: summary: Returns array of source objects. - description: Returns array of `source` objects. The number of array members returned with each response is restricted by the **size** parameter. Sources can be filtered by setting additional parameters like **factoidId** or **f**. Statement-specific parameters (e.g. **place**, **memberOf**) accept a asterisk (*) to require that parameter to have any non-null value. TODO Further parameters for filtering have to be specified. + description: Returns array of `source` objects. The number of array members returned with each response is restricted by the **size** parameter. Sources can be filtered by setting additional parameters like **factoidId** or **f**. Statement-specific parameters (e.g. **place**, **memberOf**) accept a asterisk (*) to require that parameter to have any non-null value. TODO Further parameters for filtering have to be specified. operationId: getSources parameters: - $ref: '#/components/parameters/size' @@ -460,7 +460,7 @@ components: p: name: p in: query - description: filter by applying a pattern on persons (fulltext search) + description: filters the current resource by a search in direct properties of person object (id, uri) schema: type: string statementId: @@ -472,7 +472,7 @@ components: st: name: st in: query - description: filter by applying a pattern on statements (fulltext search) + description: filters by applying a pattern on statements (fulltext search). This filter will be combined by an AND operator with all other filters applicable to statements (statementText, role, from, to, place, name, relatesToPerson, memberOf). schema: type: string sourceId: @@ -490,7 +490,7 @@ components: f: name: f in: query - description: filter by applying a pattern on factoid (fulltext search) + description: filter by applying a pattern on factoid metadata (fulltext search) schema: type: string factoidId: @@ -502,49 +502,49 @@ components: statementText: name: statementText in: query - description: filter by any keyword occurring in the statement content + description: filters by any keyword occurring in the statement content. This filter will be combined by an AND operator with all other filters applicable to statements (st, role, from, to, place, name, relatesToPerson, memberOf). schema: type: string role: name: role in: query - description: could be URI or label + description: filters by a keyword occuring in the role property of a statement. The filter applies to the human readable label and the URI provided. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, from, to, place, name, relatesToPerson, memberOf). schema: type: string from: name: from in: query - description: 'all dates after the event date (including the event date) will be included. If `from` and `to` are the same, only a single exact date is included. Fragments (yyyy, yyyy-mm) will be interpreted as exact time ranges if the second parameter is missing (`from=yyyy-mm` is interpreted as `from=start of month`, `to=end of month`. If conflicting data is present, for example ``from=yyyy&to=yyyy-mm-dd`, the most correct interpretation will be decided on by the backend. For instance, the example before will be interpreted as `from=yyyy-01-01&to=yyyy-mm-dd`.' + description: 'all dates after the event date (including the event date itself) will be included. If `from` and `to` are the same, only a single exact date is included. Fragments (yyyy, yyyy-mm) will be interpreted as exact time ranges if the second parameter is missing (`from=yyyy-mm` is interpreted as `from=start of month`, `to=end of month`. If conflicting data is present, for example ``from=yyyy&to=yyyy-mm-dd`, the most correct interpretation will be decided on by the backend. For instance, the example before will be interpreted as `from=yyyy-01-01&to=yyyy-mm-dd`. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, to, place, name, relatesToPerson, memberOf).' schema: type: string to: name: to in: query - description: 'all dates before the event date (including the event date) will be included. If `from` and `to` are the same, only a single exact date is included. Fragments (yyyy, yyyy-mm) will be interpreted as exact time ranges if the second parameter is missing (`from=yyyy-mm` is interpreted as `from=start of month`, `to=end of month`. If conflicting data is present, for example ``from=yyyy&to=yyyy-mm-dd`, the most correct interpretation will be decided on by the backend. For instance, the example before will be interpreted as `from=yyyy-01-01&to=yyyy-mm-dd`.' + description: 'all dates before the event date (including the event date itself) will be included. If `from` and `to` are the same, only a single exact date is included. Fragments (yyyy, yyyy-mm) will be interpreted as exact time ranges if the second parameter is missing (`from=yyyy-mm` is interpreted as `from=start of month`, `to=end of month`. If conflicting data is present, for example ``from=yyyy&to=yyyy-mm-dd`, the most correct interpretation will be decided on by the backend. For instance, the example before will be interpreted as `from=yyyy-01-01&to=yyyy-mm-dd`. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, place, name, relatesToPerson, memberOf).' schema: type: string place: name: place in: query - description: could be URI or label + description: filters by a keyword occuring in the place property of a statement. The filter applies to the human readable label and the URI provided. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, to, name, relatesToPerson, memberOf). schema: type: string relatesToPerson: name: relatesToPerson in: query - description: could be URI or label + description: filters by a keyword occuring in the relations to other persons property of a statement. The filter applies to the human readable label and the URI provided. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, to, place, name, memberOf). schema: type: string memberOf: name: memberOf in: query - description: could be URI or label + description: filters by a keyword occuring in the membership in organisation property of a statement. The filter applies to the human readable label and the URI provided. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, to, place, name, relatesToPerson). schema: type: string name: name: name in: query - description: names of a person + description: filters by a keyword occuring in the names of a person. This filter will be combined by an AND operator with all other filters applicable to statements (st, statementText, role, from, to, place, relatesToPerson, memberOf). schema: type: string createdBefore: @@ -568,10 +568,12 @@ components: modifiedBefore: name: createdBefore in: query + description: sets terminus antequo for filtering the date of modification of the current resource. schema: type: string modifiedAfter: name: createdAfter + description: sets terminus postquem for filtering the date of modification of the current resource. in: query schema: type: string @@ -743,6 +745,9 @@ components: properties: '@id': $ref: '#/components/schemas/id' + label: + type: string + description: 'A human readable identification of the person for easy processing in selection scenarios. This identification is considered to be unstable, does not have to be stored in the backend (i.e. it might be created algorithmically on the fly from a currente state of data stored), can be ommitted (then the @id can be used as default) and is not processed in POST or PUT requests. In practice, this label would typically be constructed from statements on names, basic biographical dates (birth, death) and maybe a claim of fame / occupation, but the decision how to construct this label would be completely under responsibility of the service provider.' uris: $ref: '#/components/schemas/uris' createdBy: @@ -790,6 +795,7 @@ components: page: 2 persons: - '@id': Andreas_Reuter + label: Andreas Reuter, Autor, um 1650 uris: - 'http://pez-digital.at/persons#Mauro_Aspini' factoid-refs: @@ -804,6 +810,7 @@ components: statement-refs: - '@id': Pez1_809_1 - '@id': Placidus_Seiz + label: Seitz, Placidus, Theologe, Abt, Schriftsteller, Benediktiner, 1672-1736. uris: - 'http://d-nb.info/gnd/10102407X' - 'https://viaf.org/viaf/5285530/'