Gedbas4all/API: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(RDF) |
|||
Zeile 1: | Zeile 1: | ||
== Hinzufügen von Informationen == | == Hinzufügen von Informationen == | ||
Mit einem POST-Request an <tt>xml/write</tt> kann man Daten schreiben. Das sieht z.B. so aus: | Mit einem POST-Request an <tt>xml/write</tt> kann man Daten in Form von RDF-Dokumenten schreiben. Das sieht z.B. so aus: | ||
<source lang="xml"> | <source lang="xml"> | ||
< | <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns='http://gedbas4all.genealogy.net/sw/' | ||
xml:base='http://example.org/test#'> | |||
< | <Persona rdf:ID='persona3633' name='Winand Fleischhauer' /> | ||
< | <Characteristic rdf:ID='p3633cName'> | ||
<part type= | <part><rdf:Description><value>Winand</value><type rdf:resource='http://gedbas4all.genealogy.net/sw/characteristic/firstname' /></rdf:Description></part> | ||
<part | <part><rdf:Description><value>Fleischhauer</value><type rdf:resource='http://gedbas4all.genealogy.net/sw/characteristic/familyname' /></rdf:Description></part> | ||
</Characteristic> | |||
</ | <Event rdf:ID='event3633' place='Hasselbeck'> | ||
< | <gedcomDate>1830</gedcomDate> | ||
< | <type rdf:resource='http://gedbas4all.genealogy.net/sw/event/residence' /> | ||
</Event> | |||
<Assertion rdf:ID='a3'> | |||
<project rdf:resource='http://gedbas4all.genealogy.net/project/addressbook' /> | |||
<researcher rdf:resource='http://gedbas4all.genealogy.net/researcher/1234' /> | |||
<published rdf:resource='http://gedbas4all.genealogy.net/sw/Publication#permanent' /> | |||
</ | <subject1 rdf:resource='#persona_3633' /> | ||
</ | <subject2 rdf:resource='#event3633' /> | ||
< | </Assertion> | ||
<Assertion rdf:ID='a1'> | |||
</ | <project rdf:resource='http://gedbas4all.genealogy.net/project/addressbook' /> | ||
<researcher rdf:resource='http://gedbas4all.genealogy.net/researcher/1234' /> | |||
<published rdf:resource='http://gedbas4all.genealogy.net/sw/Publication#permanent' /> | |||
<subject1 rdf:resource='#persona3633' /> | |||
<subject2 rdf:resource='#p3633cName' /> | |||
</Assertion> | |||
</rdf:RDF> | |||
</source> | </source> | ||
Als Antwort bekommt man eine Zuordnung von lokalen zu globalen IDs: | Als Antwort bekommt - RDF-konform - man eine Zuordnung von lokalen zu globalen IDs: | ||
<source lang="xml"> | <source lang="xml"> | ||
< | <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#"> | ||
< | <owl:NamedIndividual rdf:about='http://example.org/test#persona3633'> | ||
< | <owl:sameAs rdf:resource='http://localhost/xml/persona/1453' /> | ||
< | </owl:NamedIndividual> | ||
</ | <owl:NamedIndividual rdf:about='http://example.org/test#p3633cName'> | ||
<owl:sameAs rdf:resource='http://localhost/xml/characteristic/2683' /> | |||
</owl:NamedIndividual> | |||
<owl:NamedIndividual rdf:about='http://example.org/test#event3633'> | |||
<owl:sameAs rdf:resource='http://localhost/xml/event/8734' /> | |||
</owl:NamedIndividual> | |||
</rdf:RDF> | |||
</source> | </source> | ||
Version vom 29. November 2013, 06:55 Uhr
Hinzufügen von Informationen
Mit einem POST-Request an xml/write kann man Daten in Form von RDF-Dokumenten schreiben. Das sieht z.B. so aus:
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns='http://gedbas4all.genealogy.net/sw/'
xml:base='http://example.org/test#'>
<Persona rdf:ID='persona3633' name='Winand Fleischhauer' />
<Characteristic rdf:ID='p3633cName'>
<part><rdf:Description><value>Winand</value><type rdf:resource='http://gedbas4all.genealogy.net/sw/characteristic/firstname' /></rdf:Description></part>
<part><rdf:Description><value>Fleischhauer</value><type rdf:resource='http://gedbas4all.genealogy.net/sw/characteristic/familyname' /></rdf:Description></part>
</Characteristic>
<Event rdf:ID='event3633' place='Hasselbeck'>
<gedcomDate>1830</gedcomDate>
<type rdf:resource='http://gedbas4all.genealogy.net/sw/event/residence' />
</Event>
<Assertion rdf:ID='a3'>
<project rdf:resource='http://gedbas4all.genealogy.net/project/addressbook' />
<researcher rdf:resource='http://gedbas4all.genealogy.net/researcher/1234' />
<published rdf:resource='http://gedbas4all.genealogy.net/sw/Publication#permanent' />
<subject1 rdf:resource='#persona_3633' />
<subject2 rdf:resource='#event3633' />
</Assertion>
<Assertion rdf:ID='a1'>
<project rdf:resource='http://gedbas4all.genealogy.net/project/addressbook' />
<researcher rdf:resource='http://gedbas4all.genealogy.net/researcher/1234' />
<published rdf:resource='http://gedbas4all.genealogy.net/sw/Publication#permanent' />
<subject1 rdf:resource='#persona3633' />
<subject2 rdf:resource='#p3633cName' />
</Assertion>
</rdf:RDF>
Als Antwort bekommt - RDF-konform - man eine Zuordnung von lokalen zu globalen IDs:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#">
<owl:NamedIndividual rdf:about='http://example.org/test#persona3633'>
<owl:sameAs rdf:resource='http://localhost/xml/persona/1453' />
</owl:NamedIndividual>
<owl:NamedIndividual rdf:about='http://example.org/test#p3633cName'>
<owl:sameAs rdf:resource='http://localhost/xml/characteristic/2683' />
</owl:NamedIndividual>
<owl:NamedIndividual rdf:about='http://example.org/test#event3633'>
<owl:sameAs rdf:resource='http://localhost/xml/event/8734' />
</owl:NamedIndividual>
</rdf:RDF>
Kennungen (IDs)
Es gibt dabei zwei Arten von IDs:
- global gültige IDs, die bereits in gedbas4all vorhanden sind
- nur für diese Übermittlung gültige IDs, die in gedbas4all globalen IDs zugeordnet werden. Diese beginnen mit dem #-Zeichen.
Authentifizierung
Für die Authentifizierung sind drei Möglichkeiten vorgesehen:
- Authentifizierung einer Applikation, die vertrauenswürdig ist und Daten verschiedener Benutzer eintragen darf
- Authentifizierung eines einzelnen Benutzers mit Hilfe einem CAS-Proxy Ticket. Alle Daten werden dabei diesem einem Benutzer geordnet.
- Authentifizierung eines einzelnen Benutzers mit Hilfe von Benutzername und Passwort. Alle Daten werden dabei diesem einem Benutzer geordnet.
Abrufen von Informationen
Über einen GET-Request an xml/event/7829387 kann man die Daten eines Objekts abrufen. Zurückgeliefert wird ein Dokument wie dieses:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://gedbas4all.genealogy.net/sw/">
<Event rdf:about="http://localhost:8508/gedbas4all/xml/event/7829387" place="Neumühlen-Dietrichsdorf">
<type rdf:resource="http://gedbas4all.genealogy.net/sw/event/birth" />
<date><rdf:Description>
<calendar rdf:resource="http://gedbas4all.genealogy.net/sw/Calendar#gregorian" />
<certainty rdf:resource="http://gedbas4all.genealogy.net/sw/Certainty#exact" />
<certainty rdf:resource="http://gedbas4all.genealogy.net/sw/DateType#point" />
<start><rdf:Description>
<normalized>2413581</normalized>
<datePart><rdf:Description><type rdf:resource="http://gedbas4all.genealogy.net/sw/date/year"/><value>1896</value></rdf:Description></datePart>
<datePart><rdf:Description><type rdf:resource="http://gedbas4all.genealogy.net/sw/date/month" /><value>1</value></rdf:Description></datePart>
<datePart><rdf:Description><type rdf:resource="http://gedbas4all.genealogy.net/sw/date/day" /><value>22</value></rdf:Description></datePart>
</rdf:Description></start>
</rdf:Description></date>
</Event>
</rdf:RDF>