I hope someone can help me on this probably totally easy-to-solve problem:
I want to run a SPARQL query against the following RDF (noted in N3, the RDF/XMl sits here). This is the desription of a journal article and descriptions of the journal, author and publisher:
@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix ex: <http://example.org/thesis/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
<ex:XY> a bibo:Article;
dc:creator ex:umstaetter;
dc:date "2008-11-01";
dc:isPartOf ex:bibdienst;
dc:title "DDC in Europa"@de;
bibo:endPage "1221";
bibo:issue "11";
bibo:language "de";
bibo:pageStart "1194";
bibo:uri <http://www.zlb.de/Erschliessung020309BD.pdf>;
bibo:volume "42" .
<ex:bibdienst> a bibo:Journal;
dc:publisher ex:zlb;
dc:title "Bibliotheksdienst"@de;
bibo:issn "00061972" .
<ex:umstaetter> a foaf:person;
foaf:birthday "1941-06-12";
foaf:gender "Male";
foaf:givenName "Walther";
foaf:homepage <http://www.ib.hu-berlin.de/~wumsta/index.html>;
foaf:img "http://libreas.eu/ausgabe7/pictures/wumstaetter1.jpg";
foaf:name "Walther Umst\u00E4tter";
foaf:surname "Umst\u00E4tter";
foaf:title "Prof. Dr. rer. nat." .
<ex:zlb> a foaf:Organization;
foaf:homepage <http://www.zlb.de>;
foaf:name "Zentral- und Landesbibliothek Berlin"@de .
For testing purposes I wanted to read out the foaf:homepage of ex:zlb - the SPARQL I want to run is:
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX bibo: <http://purl.org/ontology/bibo/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ex: <http://example.org/thesis/>
SELECT ?article ?publisher ?publisher_url
WHERE
{
?article dc:isPartOf ?journal .
?journal dc:publisher ?publisher .
?publisher foaf:homepage ?publisher_url
}
(Again: This is gonna be for testing only since there is only one entity of article.)
Running it on my local machine with Python and RDflib doesn't give me a result. Neither does the Online Redland SPARQL Query Demo.
Anyone out there who sees a solution? Am I on the right path or totally wrong?
Online UI are http://dbpedia.org/snorql/ and http://dbpedia.org/sparql/ , they both accept SparQL queries.
NULLs or unbound variablesThe term “NULL” actually does not occur in the SPARQL spec, perhaps because it doesn't really have a good rep in the database world. Instead the spec talks about bound and unbound variables.
Dataset: Friend of a Friend (FOAF) @prefix card: <http://www.w3.org/People/Berners-Lee/card#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> .
SPARQL (“SPARQL Protocol And RDF Query Language”) is a W3C standard for querying RDF and can be used to express queries across diverse data sources, whether the data is stored natively as RDF or viewed as RDF via middleware.
I don't think that you can use a QName in an XML attribute value; e.g. the value of rdf:about
. So consider this line from your RDF/XML file:
<bibo:Journal rdf:about="ex:bibdienst">
I think that this is actually saying that the subject URI is "ex:bibdienst". That is a syntactically valid URI, but it is not the same URI as appears as the object of the triple corresponding to this line:
<dc:isPartOf rdf:resource="http://example.org/thesis/bibdienst" />
Try replacing the QNames in XML attribute values with the corresponding URIs and see if that fixes your problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With