programminghistorian / jekyll

Jekyll-based static site for The Programming Historian
http://programminghistorian.org
521 stars 228 forks source link

Link problem EN lesson and ES translation: Introduction to the Principles of Linked Open Data #2347

Closed spapastamkou closed 3 years ago

spapastamkou commented 3 years ago

I transfer here a dead link problem that became evident in PR #2114 and is exposed in this comment. I copy the essential part of the comment here:

Lessons affected: /es/lecciones/introduccion-datos-abiertos-enlazados /en/lessons/intro-to-linked-data

Relevant link:
http://dbpedia.org/snorql/ One the link tested, the page returns: Error HTTP/1.1 404 File not found The requested URL is not an ordinary resource URI = '/snorql/' There is this archived version on Internet Archive: https://web.archive.org/web/20210506201504/https://dbpedia.org/snorql/ in case this is helpful. But I am not sure if it is a good solution or a solution at all. Thank you very much @anisa-hawes if you can check this and find a solution!

spapastamkou commented 3 years ago

@anisa-hawes Not sure if the issue needs further labels, please let me know if need to add spanish and english labels.

anisa-hawes commented 3 years ago

Thank you, @spapastamkou. You are right, that this is a Lesson Maintenance issue. I notice that the author actually pre-empts this, mentioning that end points such as the snorql one he uses in the example, "occasionally seem to go offline". He advises searching online for an alternative, via the term 'dbpedia sparql'.

However, the Query Editor offered here https://dbpedia.org/sparql has a much changed GUI, which doesn't expose the prefix declarations shown (and specifically mentioned) in the tutorial.

I note that when I test the lesson's first example query SELECT * WHERE { :Lyndal_Roper ?b ?c } it returns an error: "undefined default namespace prefix"

But I am able to run the second example query SELECT * WHERE { ?historian_name ?predicate <http://dbpedia.org/class/yago/Historian110177150> } to retrieve the list of historians' names.

Screenshot 2021-11-03 at 11 43 10

Screenshot 2021-11-03 at 11 43 17

Unfortunately, the archived version of this webpage doesn't offer a solution, because a query cannot be performed in that context.

I'll have a bit more of a think about how to solve this.... I realise that it is holding up other PRs too... Does anyone on the team have specific experience of querying DBpedia?

spapastamkou commented 3 years ago

@datalogism?

datalogism commented 3 years ago

Hey, you knocked on the right door, as i'm responsive of the french DBpedia chapter, of course that i can help you ! The snorql endpoint is GUI which is not longer used by the DBpedia project for requesting a Sparql endpoint. This one declared for us some useful and commonly used prefix, that's why the request does not specify them within it.

As this entry is not available today we may need to redesign a bit this tutorial. I will try to investigate deeper this tutorial for trying to underline if it's needed updates in line with today best practices.

Meanwhile easily fix it by declaring before the prefix and use the "dbr" annotation before the resource id as follow :

Prefix dbr: <http://dbpedia.org/resource/>
SELECT * WHERE {
dbr:Lyndal_Roper ?b ?c
}

This problem brings up a remark I had already made to myself, how could we upgrade tutorial using obsolete technologies ?

anisa-hawes commented 3 years ago

Hooray! Thank you so much Célian @datalogism!

Do you think we could work together to update this tutorial? It is currently available in both English and Spanish.

If I understand correctly, to solve the immediate problem, we will need to:

I'll create a new branch and get started.

anisa-hawes commented 3 years ago

Hello @svmelton and @rivaquiroga,

I've made the changes listed above to the EN version of this lesson within Branch #2347.

Please let me know if you feel this solution seems suitable? Unfortunately, one of the aspects of the lesson that is lost here, relates to recognising prefix declarations, because they are not shown in the updated GUI of the query builder.

These same small adjustments need to be made to the ES version of the lesson, if someone from the @programminghistorian/spanish-team has time to help?

Thank you for your help @datalogism! Happy to chat more about a more detailed review of this lesson, but keen to fix it as simply as we can for now, because the broken link is causing problems for other PRs in our queue.

datalogism commented 3 years ago

@anisa-hawes no problems, for more advanced updates we keep in touch, i will do it next months

anisa-hawes commented 3 years ago

Ah! Hello again all,

Before I started working on this yesterday, I emailed Dbpedia dbpedia@infai.org to ask if the broken link to the SNORQL query explorer (at http://dbpedia.org/snorql) represented a temporary problem or if the service was to be discontinued...

After the work done yesterday ... I have just received a reply from them! They say: "We fixed the problem. The links are available again" It is back online !

So maybe we don't need to update this lesson at all?

Please let me know your thoughts!

datalogism commented 3 years ago

Did you already update it ? If the service is now available the better may be to not modifying it, no ?

anisa-hawes commented 3 years ago

I've updated it in a Branch, but have not merged it. I think it might be better to hold off modifying it.