Search code examples
sparqlrdfsemantic-webowldbpedia

Events in dbpedia.org without start and end Date


I'm trying to fetch every events in dbpedia.org along with their respective startDate and endDate ( startDate & endDate are attributes defined in http://schema.org/Event )

Here is the sparql request:

PREFIX db-owl: <http://dbpedia.org/ontology/>

SELECT * 
WHERE {
    ?r  a db-owl:Event .
    OPTIONAL{ ?r db-owl:startDate ?c }
} LIMIT 2000

( I'm using Virtuoso Sparql Query editor to test it on the http://dbpedia.org/sparql endpoint )

Test by yourself and you see that only a veeeerryyy small subset of those events have a specified startDate.

For exemple, if i specialize my query a bit more, like this:

PREFIX db-owl: <http://dbpedia.org/ontology/>

SELECT * 
WHERE {
    ?r  a db-owl:MilitaryConflict .
    OPTIONAL{ ?r db-owl:startDate ?c }
} LIMIT 2000

You can see that startDate is specified in NO militaryConflict .

How can this be possible ?

I'm i missing something or is it just that the english version of dbpedia is missing some crucial informations like event's startDate ?

Note: If i run the same queries on the french dbpedia endpoint (http://fr.dbpedia.org/sparql) , i get totally different results, i.e: a bunch of MilitaryConflict are filled with their corresponding startDate


Solution

  • Sure, lots (none) of these have dbo:startDate properties, but lots of them have dbo:date properties, and even more have dbp:date properties. (The ontology values tend to be much cleaner than the raw values, but both can be useful.) E.g., have a look at the results of:

    SELECT * {
        ?r  a dbo:MilitaryConflict .
        OPTIONAL{ ?r dbo:startDate ?startDate }
        OPTIONAL{ ?r dbo:date ?oDate }
        OPTIONAL{ ?r dbp:date ?pDate }
    } LIMIT 2000
    

    SPARQL results

    Figuring out what data is and isn't available in DBpedia is something of a trial and error process. I found the dbo:date properties by browsing some of those instances, e.g., 2015 Douma market massacre has a value for that property.

    Note: If i run the same queries on the french dbpedia endpoint (http://fr.dbpedia.org/sparql) , i get totally different results, i.e: a bunch of MilitaryConflict are filled with their corresponding startDate

    This does make the question a bit more interesting, but I'd guess that it comes down to different infoboxes being used on the French DBpedia that helps to get more that information into the system.