You need to explore the endpoint a bit, by using some general queries and eyeballing the result, to figure out the general "shape" of the data.
First query I did (on the first endpoint you provided) was a simple query to see what classes are available:
SELECT DISTINCT ?Concept WHERE {[] a ?Concept}
Browsing through the result I saw that they apparently use the foaf:Person
class, which seems a likely candidate to find people in. So, second query, see what instances of class foaf:Person
look like:
SELECT * WHERE {?x a foaf:Person; ?p ?y } ORDER BY ?x LIMIT 100
This retrieves all instances ?x
person, and for each instance its properties (?p
) and the values of those properties (?y
). I order on ?x
to have all results for the same person together, and I limit to 100 because I only need to see a small subset of all results (after all, I'm only exploring the shape).
Looking at that data I see that people typically have a foaf:firstName
and foaf:lastName
property with a string-value, and also that they have a rdfs:label
property which has the full "firstname, lastname" string as a language-tagged literal. So to retrieve specific individuals, I can query on those properties to get the individual's URI, e.g.:
SELECT ?x WHERE {?x a foaf:Person; foaf:lastName "Alonso"; ?p ?y} LIMIT 10
or
SELECT ?x WHERE {?x a foaf:Person; rdfs:label "Alonso, Jose-Manuel"@en-us . } LIMIT 10
Of course, we can also actually look at the value of ?x
which is typically of the form:
http://reach.suny.edu/individual/Alonso_Jose-Manuel
If you actually follow that link in a browser it will redirect you to the page http://reach.suny.edu/display/Alonso_Jose-Manuel you asked about. So another way to query for that particular individual is to take the URL of his webpage, replace the display
with individual
, and use that as the subject-URI in your SPARQL query.