Gebruiksaanwijzing extensie External Data: verschil tussen versies

Uit MediaWikiGids
Ga naar: navigatie, zoeken
k
Regel 138: Regel 138:
 
{{!}} {{{titel}}}
 
{{!}} {{{titel}}}
 
{{!}} {{{taal}}}
 
{{!}} {{{taal}}}
 +
}}
 +
|}
 +
 +
== Testcase Ib - Gegevens uit adlib TE ==
 +
 +
{{#get_web_data:
 +
url=http://servicetin.adlibhosting.com/te4/wwwopac.ashx?database=perform&search=priref=52391&limit=4&xmltype=Grouped
 +
|format=XML
 +
|delimiter=10
 +
|data=naam=characters.name,
 +
performer=characters.performer,
 +
functie=characters.performer_function
 +
|cache seconds=1500
 +
}}
 +
 +
{| class="wikitable"
 +
! Naam
 +
! Performer
 +
! Functie
 +
{{#for_external_table:<nowiki/>
 +
{{!}}-
 +
{{!}} {{{naam}}}
 +
{{!}} {{{performer}}}
 +
{{!}} {{{functie}}}
 
}}
 
}}
 
|}
 
|}

Versie van 20 dec 2018 om 20:52

Je vindt hier de officiële gebruiksaanwijzing van de Extension:External_Data.

De extensie werkt in twee stappen:

  1. Laad de gegevens uit externe bron met behulp van een #get - functie
  2. Geef de gegevens weer op de pagina (of: sla de gegevens op met behulp van Semantic MediaWiki)

External Data biedt vijf verschillende manieren om externe gegevens in je wiki-pagina te laden:

<!-- Vanaf een webpagina, inclusief API -->
{{#get_web_data: }}
{{#get_soap_data: }}

<!-- Vanuit een locale file -->
{{#get_file_data: }}

<!-- Vanuit een database -->
{{#get_db_data: }}

<!-- Vanuit een LDAP-server -->
{{#get_ldap_data: }}

Voor het weergeven zijn de volgende opties beschikbaar:

<!-- Geef een waarde van een variabele weer -->
{{#external_value: }}

<!-- Doorloop alle verkregen waarden van een set variabelen en geef elke waarde met omvattende ("container"-) tekst weer - meestal als een tabel. -->
{{#for_external_table: }} 

<!-- Doorloop een tabel met waarden sla deze op als "semantische eigenschap" met behulp van de Semantics MediaWiki estiensie. Dit gebeurt door het voor iedere rij aanroepen van de #subobject functie van SMW. -->
{{#store_external_table: }}

<!-- Doorloop alle verkregen waarden voor een set van variabelen en geef iedere "rij" weer door middel van een sjabloon. -->
{{#display_external_table: }}

Een laatste commando is beschikbaar voor het wissen van gegevens:

<!-- wis de huidige set van verkregen waarden. -->
{{#clear_external_data: }} 

Externe data vanaf een webpagina

{{#get_web_data:
url=data source URL
|format={CSV|CSV with header|GFF|JSON|XML}
|delimiter=delimiter
|data=local_variable_name1=external_variable_name1, etc.
|filters=external_variable_name1=filter_value1, etc.
|use xpath
|post data=additional data
|cache seconds=number of seconds
}}

SOAP

{{#get_soap_data:
url=data source URL
|request=the function used to request data
|requestData=parameter1=value1, etc.
|response=the function used to retrieve data
|data=local_variable_name1=external_variable_name1, etc.
}}

Externe data vanuit een database

Dit voorbeeld moet nog worden uitgewerkt.

Externe data vanuit een LDAP server

Dit voorbeeld moet nog worden uitgewerkt.

Testcase 1 - Gebruik External Data via de API van adlib

Documentatie adlib: [1]

Voorbeeld: Search all records: return all records from collect.inf

Specificatie API-verzoek:
http://test2.adlibsoft.com/api/wwwopac.ashx?database=collect.inf&search=all

Code External Data:

{{#get_web_data:
url=http://test2.adlibsoft.com/api/wwwopac.ashx?database=collect.inf&search=all
|format=XML
|delimiter=10
|data=creatie=created,
modificatie=modification,
geselecteerd=selected,
administratie naam=administration_name,
maker=creator,
categorie=object_category,
object nummer=object_number,
reproductiereferentie=reproduction.reference,
titel=title, 
taal=lang,
invariant=invariant
|cache seconds=1500
}}

Opmerkingen:

  1. Het attribuut / label (attribute, tag) priref is weggelaten, omdat het dubbel voorkomt. Het gebruik Xpath kan hiervoor een oplossing bieden.
  2. Het importeren van de letter à - geen ASCII-character - geeft een fout, veroorzaakt door het ontbreken van de multibyte string PHP-extensie (zie: http://php.net/manual/en/book.mbstring.php).


Creatie Modificatie Geselec
teerd
Administra
tienaam
Maker Categorie Object nummer Reproductie
referentie
Titel Taal

2007-02-07T13:40:36 2016-08-25T08:33:57 False PDP Ghirlandaio, Domenico (Domenico Bigordi) painting M.54 M.54.jpg The Nativity nl-NL
2007-02-07T13:40:36 2016-08-25T08:33:49 False PDP Bert Degenhart Drenth painting 99 99.jpg The Transfiguration nl-NL
2007-02-07T13:40:36 2016-08-25T08:34:09 False PDP Batoni, Pompeo Girolamo painting PD.4-1950 PD.4-1950.jpg The 7th Earl of Northampton nl-NL
2007-02-07T13:40:36 2016-08-25T08:34:09 False PDP Constable, John painting PD.207-1948 PD.207-1948.jpg Hampstead Heath nl-NL
2007-02-07T13:40:36 2016-08-25T08:34:09 False PDP Rosa, Salvator painting PD.53-1958 PD.53-1958.jpg L'Umana Fragilit nl-NL
2007-02-07T13:40:36 2016-08-25T08:34:09 False PDP Elmore, Alfred painting PD.108-1975 PD.108-1975.jpg à nl-NL
2007-02-07T13:40:36 2016-08-25T08:33:57 False PDP Sellaio, Jacopo del painting M.75 M.75.jpg On the Brink (1865) nl-NL
2007-02-07T13:40:36 2017-01-27T15:46:11 False PDP Rossetti, Dante Gabriel drawing 2151 2151.jpg The Story of Cupid and Psyche nl-NL
2007-02-07T13:40:36 2016-08-25T08:33:41 False PDP Turner, Joseph Mallord William drawing 2476 2476.jpg Mary Magdalene at the Door of Simon the Pharisee nl-NL
2007-02-07T13:40:36 2017-06-20T21:51:58 False PDP Sickert, Walter Richard painting 2458 2458.jpg The field of Waterloo nl-NL
The Old Bedford nl-NL
The boy I love is up in the gallery nl-NL
Cupid in the gallery

Testcase Ib - Gegevens uit adlib TE

Naam Performer Functie

Testcase 2 - Gebruik External Data om gegevens uit Wikidata via API op te halen

Documentatie:

Voorbeeld labels

https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2155935&props=labels&languages=nl

Gebruik External data om het "label" (naam van de pagina op Wikipedia ?) op te vragen van het item "Q2155935" in Wikidata.org:

{{#get_web_data: url=https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2155935&props=labels&languages=nl
&format=json
|format=JSON
|data= wikilabel=value
}}

{{#external_value:wikilabel}}

Error: No contents found at URL https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2155935&props=labels&languages=nl
&format=json. Resultaat: '

Alternatief (beter?) is het gebruik "?action=query"

Error: No contents found at URL https://www.wikidata.org/w/api.php?action=query&prop=wbgetentities&ids=Q2155935&languages=nl
&format=json.

Resultaat: '

Resultaat lijkt goed, maar query werkt niet en geeft fouten.


api.php?action=query&prop=wbentityusage&titles=Main%20Page|Malayan%20civet

Voorbeeld Aliases

Aliases
Vlaams Cultuurhuis
Brakke Grond
Poortje 'De Brakke Grond'
rijksmonumentnummer 6157

Voorbeeld "Claims"

https://www.wikidata.org/w/api.php?action=wbgetclaims&entity=Q2155935


Eigenschap Claims
P17 Brakke grond.jpg
P143 Brakke grond gate.jpg
P131 45
P143 http://www.brakkegrond.nl/
P625 130852
P143 1012 KD
P625 1017 SG
P18 1012GL
P18 https://cultureelerfgoed.nl/monumenten/6157
P31 6157
P31 De Brakke Grond (Amsterdam)
P31 0363100012179547
P276 127643416
P669 viaf-127643416
P670 127643416
P856 a/5bbe4f22-2cde-4235-98bd-59f4552accc0
P407 Vlaams-Cultuurhuis-De-Brakke-Grond
P84 brakkegrond
P3820 brakkegrond
P281 a411d47d-5e4c-412c-9d51-794e43ded86c
P281 org-007558
P281 http://data.advn.be/id
P248
P854
P407
P813
P101
P6375
P6375
P359
P373
P1435
P580
P248
P5208
P214
P7859
P214
P8974
P3417
P2003
P2013
P1004
P248
P813
P12046
P854

NB: De matching tussen Property en Value is nog niet correct in bovenstaand overzicht!

Deze doet het ook: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2155935&props=claims



https://www.wikidata.org/w/api.php?action=query&prop=wbgetclaims&id=Q2155935

Bovenstaande geeft errors:

  • wbgetclaims is niet goed
  • id is niet goed

https://www.wikidata.org/w/api.php?action=query&prop=wbgetentities&id=Q2155935