SEMICeu / CPSV-AP

Repository for the specifications falling under CPSV-AP
26 stars 9 forks source link

Use the same class for input and output of Public Services #97

Closed zeginis closed 1 year ago

zeginis commented 2 years ago

It is very common to have "chains" of Public Services where the output of one public service is used as input at another.

The current version of CPSV-AP uses the class cv:Evidence for input and the class cv:Output for output. This way of modeling may lead to situtions like:

There is no way to know that IDcard (instance of cv:Output) is the same as IDcard (instance of cv:Evidence). And thus there is no way to know that the output of PublicService1 can be used as input at the PublicService2

It would be beneficial to somehow link the input and output of Public Services

EmidioStani commented 2 years ago

Hell @zeginis,

It is true that is common the reuse of output of Public Service as input of another one, in particular for ID cards, however other type of output might be not reused, I am thinking of building permits.

CPSV-AP is currently serialized as RDF. In RDF you can express instances with a URI, for example:

http://service/1 cv:produces http://mycard/123 http://mycard/123 rdf:type cv:Output

http://service/2 cv:hasInput http://mycard/123 http://mycard/123 rdf:type cv:Evidence

thus you can know if the id card used as Evidence is the same of the one used as cv:Output.

jimjyang commented 2 years ago

It is true that is common the reuse of output of Public Service as input of another one, in particular for ID cards

@EmidioStani In #91 you wrote "an identity card or a permit certificate are not necessary a dataset per se". Input (Evidence) is now a subclass of Dataset, so when an ID-card is used as input it is a Dataset. [We are now updating our trial version of CPSV-AP-NO (which was based on CPSV-AP v.2) to next version which we try to align with CPSV-AP v.3, so we have to understand "every detail" of CPSV-AP v.3]

EmidioStani commented 2 years ago

Hello @jimjyang ,

I believe here the issue is something else, which is about identifying univoquely an output or an input of a Public Service and link them between each other, which, as I stated above, it doesn't necessarily happen.

The fact is an Evidence is a subclass of Dataset it is another issue per se which can follow #91 .

EmidioStani commented 1 year ago

It can be closed as example was provided, the rest continue on issue #91