Comments (5)
Correct consideration, I'd say. @gvasold @oldschmetterhand any objections from your test implementation side on this?
from prosopographi.
Although, theoretically you can link a statement from one source to several persons: Gustav und Paul were members of the staff 1880-1885. (Memoirs of W.S., 1910, p. 13)
:
Factoid: {
person-refs: ['@id': 'gustav1', '@id': 'Paul1'],
statement-refs: ['@id':'a2hph23'],
source-refs: ['@id': 'wsmemoirs1910-13']
}
But we don't have this in the definition currently, so we're free either to change descriptive definition of factoid
or change the technical model. See 940a275 for a proposal for the technical change.
from prosopographi.
I understand this idea of combining persons or using shortcuts is tempting but I think it makes the mental model for consuming the api unnecessary complicated. And even worse: I'm worried that allowing this kind of shortcuts 1) leads to ambiguity and 2) (not yet fully clear about that at the moment) might result in factoids which are not stable but depending on their context and request context. So I'd go with @sennierer and would even question if sourceRef https://github.com/GVogeler/prosopogrAPhI/blob/1a7c2fd57dfaf8cc5425a6583e509b4d581e6914/prosopogrAPhI.yaml#L672-L673 should be an array, because from my understanding a factoid is a specific interpretation of what one source says about one person and having many factoids is less painful with the new model than dealing with the additional complexity.
from prosopographi.
I agree with @gvasold: As long as only one of person(s), statement(s) and source(s) is an array you know that all the e.g. statements in the array belong to the one person mentioned and were derived from the one source mentioned. If we have two arrays this alignment is no longer distinct. So I would go with @gvasold suggestion and also make source-ref an object rather than an array of objects.
from prosopographi.
From the my point of view (as API consumer) an object or string reference would be a bit easier to handle. I do also agree with @gvasold and @sennierer
from prosopographi.
Related Issues (17)
- better use "@id" for identifiers HOT 1
- update context.json after model changes HOT 1
- combining json-ld with api endpoint resolving
- JSON-HAL HATEOAS compliant refs HOT 3
- factoids-ref in Person schema serialized object rather than pointer HOT 3
- Use case "Autocomplete": human readable identification for a person
- replace `-ref` by camelCase for object keys and requests
- full text search syntax
- implement EDTF for `sortdate`? HOT 1
- add language tag to label properties HOT 1
- Statement params wildcard HOT 1
- consider to add a json-schema reference to the output?
- add param `independentStamtent` to make combination of parameters explicit HOT 2
- Add a recommendation how to build statements
- Introduce a more strict schema for the data model of the statements
- add statemenType property to statemt HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prosopographi.