2009-10-20 17 views
7

beklenmedik bir sonuç verir: Ben N3 belirtildiği aşağıdaki RDF karşı SPARQL sorgusu (çalıştırmak istediğinizSPARQL Sorgu Birisi bu muhtemelen tamamen kolay çözmek problem üzerinde bana yardımcı olabilir umut

, RDF/XML oturur here). Ben foaf okumak istediğini Test amaçlı

@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 . 

: Bu dergide makale ve dergi, yazarın açıklamaları ve yayıncının Açıklama olduğunu ex anasayfa: ZLB - SPARQL istediğim çalıştırmaktır: (Yine.: Bu biraz makalenin tek varlık vardır sadece beri test için olacak)

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 
} 

pyt ile benim yerel makinede

Running hon ve RDflib bana bir sonuç vermiyor. Çevrimiçi Redland SPARQL Sorgu Demosu da yok.

Orada bir çözüm gören var mı? Doğru yolda mıyım yoksa tamamen yanlış mıyım?

cevap

7

XML özniteliğinde bir QName kullanabileceğinizi sanmıyorum; Örneğin. rdf:about'un değeri. Yani RDF/XML dosyasından bu satırı göz önünde bulundurun: ": bibdienst ex"

<bibo:Journal rdf:about="ex:bibdienst"> 

ben bu aslında konu URI olduğunu söyleyerek olduğunu düşünüyorum. Bu bir sözdizimsel olarak geçerli URI olmakla üçlü amacı bu hat tekabül olarak görünür gibi aynı URI değildir:

<dc:isPartOf rdf:resource="http://example.org/thesis/bibdienst" /> 

XML QNames değiştirmeyi deneyin gelen URI'ları ile öznitelik değerleri ve bu olmadığını görmek sorununuzu giderir.

örn:

+0

Mükemmel. Bu benim problemimi çözdü. Her nasılsa, XML ve N3'te nelere izin verildiği ve neyin değil? :) TEŞEKKÜR EDERİZ! Öneri için – fab

6

Yep Stephen C XML özelliklerinde QNames kullanamazsınız tamamen doğrudur, size şöyle belgenizin üst kısmında bir DTD bloğunda tanımladığımız yerine XML girdileri kullanabilirsiniz.

<!DOCTYPE rdf:RDF[ 
    <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> 
    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'> 
    <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'> 
    <!ENTITY ex 'http://example.org/thesis/'> 
    <!ENTITY dc 'http://purl.org/dc/elements/1.1/'> 
    <!ENTITY foaf 'http://xmlns.com/foaf/0.1/'> 
    <!ENTITY bibo 'http://purl.org/ontology/bibo/'> 
]> 

Sonra şöyle özelliklerini tanımlayabilirsiniz:

<bibo:Journal rdf:about="&ex;bibdienst"> 
+0

TEŞEKKÜRLER. Bunu deneyeceğim (gerçekten de her zaman "& [prefix]" in ne anlama geldiğini merak ettim. ÇOK TEŞEKKÜRLER! – fab

İlgili konular