Giter VIP home page Giter VIP logo

oslothema-organisatie's People

Contributors

bertvannuffelen avatar geertthijs avatar mvanbrab avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

ddvlanck

oslothema-organisatie's Issues

Oorsprong definities OSLO Organisatie

Voor het initiatief rond de nieuwe datastandaard van Feitelijke verenigingen ondersteunen wij de co-creatie van het datamodel. Hiervoor willen we maximaal andere, bestaande standaarden en concepten hergebruiken. 

In deze context vroegen we ons af waar de oorsprong ligt van de bestaande definities van de volgende concepten uit het OSLO Organisatie applicatieprofiel:

  • Formele organisatie
  • Samenwerkingsverband
  • Geregistreerde organisatie

Hoe de relatie tussen een Organisatie en een Agent van andere Organisatie voorstellen?

Vraag uit Informatievlaanderen/OSLO-Standaarden#114 voort verplaatst naar hier.

ja een persoon kan meerdere posities (https://data.vlaanderen.be/doc/applicatieprofiel/organisatie-basis/#Positie) hebben per organisatie, maar ook verschillende posities opnemen bij verschillende organisaties.

Let op, ik bedoel hier geen Positie in een tweede organisatie (:orgB). De account manager (rol) voor West-Vlaanderen (positie) is verantwoordelijk voor de klanten of partnerrelaties in West-Vlaanderen, waarbij de klanten/partners in West-Vlaanderen andere organisaties zijn (:orgB, :orgC, ...). Die positie bestaat weliswaar enkel bij :orgA, maar is wel gerelateerd aan :orgB, :orgC, ...

Wat wel niet te adviseren is dat is de notie rol (http://www.w3.org/ns/org#Role) te verheffen tot positie. (wat je ook niet gedaan hebt in het voorbeeld, maar wat we snel doen in ons taalgebruik.)

mee eens!

Een positie is gekoppeld aan een organisatie. Dus zowel orgA als orgB hebben de positie accountmanager met als generieke rol accountmanager. Dus

:Bob a foaf:Person.

:orgA a org:Organization.
:orgB a org:Organization.

:AccountManagerOrgA a org:Post.
    org:postIn :orgA;
    org:hasRole :AccountManager;
    org:heldBy :Bob.

:AccountManagerOrgB 
   org:postIn :orgB;
    org:hasRole :AccountManager;
    org:heldBy :Bob.

Nee dus, er is maar 1 account manager, namelijk die van :orgA.

Hoe je het ook draait en keert een positie die gekoppeld is aan 2 organisaties is complex. Want formeel zal elke organisatie zijn goedkeuring moeten geven aan deze constructie (onafhankelijk van elkaar). En dus zijn dat 2 onafhankelijke posities die uitgeoefend worden door dezelfde persoon. Op moment dat er dus problemen ontstaan waarbij een van de partijen het akkoord
opzegt dan zal dat weer uitgesplitst worden. Hoewel organisatie-basis dit niet verbiedt, ben ik van mening dat dus je naar het onderhoud en de evolutie in de data moet kijken voordat je deze synergie gaat uitdrukken. Het splitsen van informatie is altijd een complex geval.

Ik denk dat dit wat verder gaat dan mijn vraag. Ik bedoelde het puur modeltechnisch.

Wat bijkomend hierbij een uitdaging vormt is dat door de GDPR de synergie mogelijks niet kan worden gerealiseerd omdat een uniforme persoonsidentiteit niet publiek mag gemaakt worden. Dus Bob in het voorbeeld zou dus moeten 2 verschillende identificatoren met dezelfde naam en familienaam moeten zijn. Zulke afwegingen zijn buiten het model, maar kunnen in de praktijk een verschil maken tussen publieke informatiestructuren en interne informatiestructuren.

Lijkt mij geen onoverkoombaar issue op zich, je hoeft de persoonsgegevens niet te delen. Maar dit gaat ook wat te ver eigenlijk.

Nieuwe subklasse van Organisatie

Beschrijving
Verenigingen worden nog niet als een "soort" (lees: specialisatie) opgenomen in OSLO Organisatie. OSLO Feitelijke Vereniging neemt momenteel deze specialisatie op zich op.

Oplossing
Een specialisatie klasse Vereniging toevoegen aan dit model. Daarna dient het OSLO Feitelijke Vereniging model ook aangepast te worden.

Kardinaliteit van Organisatie.activiteit

Model
OSLO-Organisatie

Beschrijving
Komt van Regorg maar heeft domein Organisation. Is een specialisatie van Organisatie.classificatie dan een kardinaliteit 0..* heeft. Heeft nu kardinaliteit 0..1. Regorg legt geen kardinaliteiten op, is dus beslist door OSLO. Echter: in praktijk kan eenzelfde Organisatie op meerdere vlakken actief zijn, dus lijkt een kardinaliteit 0..* aangewezen.

Oplossing
Kardinaliteit op 0..* zetten.

Dubble definitie in json-ld

De json-ld bevat een dubbele definitie:

{
...
    "Lidmaatschap.isLidVan":{
      "@id":"http://www.w3.org/ns/org#member",
      "@type":"http://purl.org/dc/terms/Agent"
    },
    "Lidmaatschap.isLidVan":{
      "@id":"http://www.w3.org/ns/org#organization",
      "@type":"http://www.w3.org/ns/org#Organization"
    },
...
}

hierdoor en omdat Logo geen type/range heeft (#1), is de json-ld onbruikbaar op dit moment.

Lid van een Vestiging

OSLO Organisatie heeft een klasse Vestiging. Deze klasse heeft als attributen een naam en een locatie. Maar OSLO Organisatie laat niet toe om lid te zijn van een vestiging. Bv. een scholenkoepel is de Organisatie, die heeft 20 scholen en dat zijn de vestigingen. Maar volgens OSLO Organisatie kunnen die vestigingen weinig doen, je kan geen lid worden van de vestiging.

Kan de Organisatie-eenheid of suborganisatie overerven van Organisatie, en op die manier de positie of de rol wel meenemen om deze situatie op te vangen?

[Deze opmerking kwam uit het webinar van Feitelijke Verenigingen van 5 mei 2022 waarbij de laatste versie van het applicatieprofiel werd voorgesteld. Dit AP erft over van OSLO Organisatie. Aangezien de opmerking gaat over OSLO Organisatie, werd voorgesteld om dit issue hier te loggen.]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.