Working with data

This is a lead paragraph. It stands out from regular paragraphs.

Timeline of Agfa-Gevaert predecessors:

This query gives an overview of the different iterations the Gevaert company has had, leading up to the fusion with the German Agfa.

# Timeline of Agfa-Gevaert predecessors
#defaultView:Timeline
SELECT ?Organization ?OrganizationLabel ?has_start_date ?has_end_date WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" . }
  ?Organization tibt:P31* tib:Q308 .
  OPTIONAL {
    ?Organization tibt:P36 ?has_start_date .
    FILTER(?has_start_date > "1800-01-01"^^xsd:dateTime)
  }
  OPTIONAL {
    ?Organization tibt:P37 ?has_end_date .
    FILTER(?has_end_date < "2024-01-01"^^xsd:dateTime)
  }
}
LIMIT 200

Products with most instances in the collection:

This query lists all the products that have the highest number of product instances in the collection.

# Papers with most instances
#defaultView:BubbleChart
SELECT ?ProductLabel ?instance WHERE {
  ?Product tibt:P3 tib:Q35 .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" . }
  {
    SELECT ?Product (COUNT (DISTINCT ?is_exemplified_by) AS ?instance) WHERE {
      ?Product tibt:P3 tib:Q35 .
      ?Product tibt:P5 ?is_exemplified_by .
    } GROUP BY ?Product
    ORDER BY DESC(?instance)
    LIMIT 10
  }
}
ORDER BY DESC(?instance)
LIMIT 10

Product series with only rights’ deposit date:

Instead of focussing on the processes that led to a finished product, this query investigates the so-called ‘dead ends’, namely photo papers which have a trademark deposit but in the end were never produced.

# Product series with rights’ deposit date but no associated products
SELECT ?Product ?ProductLabel ?Trademark ?TrademarkLabel ?date WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
  ?Product tibt:P1 tib:Q19 .
  ?Product tibt:P9 ?Trademark .
  ?Product tibt:P5 tib:Q3572 .
  Minus {?Product tibt:P22 ?manual .}
  ?Product tibp:P29 ?statement .
  ?statement tibps:P29 tib:Q29 ;
     tibpq:P16 ?date .         
} Order by asc (?date)
Limit 100

Learning resources

The Gevaert Paper Project Database offers various possibilities to work with structured data describing the collection. Explore sample data queries below and learn more on how to create your own queries and visualise results using the open SPARQL endpoint.

The database for the Gevaert Paper Project is a Wikibase repository. If you have used Wikidata before then this software should feel somewhat familiar because Wikibase is the software behind Wikidata.

A bit of background information about the Wikibase data model is helpful when starting to build your own queries. The Wikibase data model is constructed of items and statements which assign properties to these items.

An item is a conceptual or physical object in the database. For example, Gevarto 8V is an item in the database which refers to a particular photo paper called Gevarto 8V. Properties can be other items in the database or textual information about an item. For example, the paper Gevarto 8V is part of the series Gevarto. Both Gevarto 8V and Gevarto are an item whereas ‘is part of’ is a property in the database which, along with the item Gevarto, gives information about Gevarto 8V.

The difference between items and properties is important to keep in mind when you start to create your own queries.

Step 1

Start by accessing the query service for the Gevaert Paper Project here.

This interface is based on the public query interface provided by Wikidata. Our instance is called query.fomu, because it is an access point to the private Gevaert Wikibase instead of the public Wikidata database.

Step 2

Next step is to select what you want to query for. In order to do so, you need to be somewhat acquainted with the Gevaert data model and the way the data is structured. For this tutorial, we will create a query which searches for all product series in the database.

An example of a product series is Gevarto which in the database looks a follows:

This example in the database gives us a lot of information: the product series Gevarto has an item number (Item:Q385) and under ‘Statements’ you can see the list of properties assigned to Gevarto.

Our query needs to search for all product series, so we’re looking for common properties assigned to all product series. This is the case for the first two statements: ‘instance of (Property:P1) Product type (Item:Q19)’ and ‘has type (Property:P3) Product series (Item:Q36)’.

We can use this information to start compiling our query in the next step.

Step 3

Writing queries from scratch can be quite cumbersome. Luckily, the query service comes with a Query Helper which works like a filter and serves as a helpful tool in creating your own queries.

If you click on the Filter button and type in an item name, then the Filter will list all items that match your keyword search.

From the previous step we already know that we need to search for the items ‘product type’ and ‘product series’ in order for our query to search for all product series.

Step 4

Let’s apply this and click on ‘Filter’ in the Query Helper. Next, start typing ‘product type’ in the field box and select the correct item ‘Product type (Q19)’. For each item you type in, the Query Helper will make a property suggestion. This suggestion might be correct, but sometimes it suggests the wrong one. In that case, you can click on the arrow next to the property and type in the correct property.

Step 5

Our query now gives back a list of various items that are part of ‘product type’ but we’re still not getting a list of all product series. So, we’ll add a filter which searches for the item ‘product series’.

In this case, the Filter suggests the wrong property ‘instance of’ so we’ll change this to ‘has type’ which we know is correct property.

Step 6

As a precaution, the Query Helper will limit the results to a 100 so let’s remove this limitation to make sure we get a complete list. When you click on ‘Limit 100’ you can remove this option by clicking on the little trash can.

Step 7

We now have set all the necessary variables for our query give me all product series and you already see some partial results. In order to get a complete list of results you need to hit the big blue ‘run’ button and start searching. Our query gives back a list of all product series in the database.

Step 8

If you don’t like the way the data is displayed, you can choose another way of visualising the results via the dropdown menu.

The results are automatically reloaded when you change the data visualisation view. For this example, a ‘Tree view’ is a more neat way of displaying the results. The more you experiment with building your own queries, the more you’ll discover which visualisation is the best match for which type of data.

Step 9

There are several options if you want to share or save the results of this query. First, there is the link button in the Query Helper which creates a link to the editable query interface.

Secondly, in the results part of the screen you can get a link that opens to a full-screen visualisation of the results and can also be embedded elsewhere on the web.

Step 10

Finally, you can also download the query results in the format of your choice.

Further Learning Resources