SPARQL Tracker Не може да стартира актуализация, Свойството не е намерено в онтологията

 tracker-sparql -qu "INSERT SILENT INTO <urn:uuid:38f> {  <urn:uuid:38f> a nfo:FileDataObject , nie:InformationElement ;nie:isStoredAs <urn:uuid:38f> ; nie:url 'file.mp3' ; nie:dataSource <urn:nepomuk:datasource:840494F4EDG> ;nie:deviceId '840494F4EDG';nmm:audioType 128 ; tracker:available true; a nmm:MusicPiece , nfo:Audio; nie:title 'Abandoner' .}"

  tracker-sparql -qu "INSERT {<urn:artist:38caadd1f13bf78a26aca0e7d42a8f58> a nmm:Artist ;nmm:artistName 'Aesop'; ?f nmm:performer <urn:artist:38caadd1f13bf78a26aca0e7d42a8f58>;  nmm:extEnsemble <urn:artist:38caadd1f13bf78a26aca0e7d42a8f58>  } WHERE { ?f nie:url 'file.mp3'}"

Първото вмъкване връща Готово. Второто вмъкване връща Не може да се изпълни актуализация, свойството 'urn:uuid:38f' не е намерено в онтологията.

Наистина не мога да разбера как да свържа новия изпълнител със съществуващо музикално произведение.


person Cumatru    schedule 18.04.2013    source източник
comment
Какъв софтуер използвате? MySQL? Това говори ли SPARQL в днешно време? Какво се случва, ако премахнете SILENT INTO <urn:uuid:38f> от първата заявка? Мисля, че след това вмъква тройките в графиката по подразбиране, точно както правите във втората заявка.   -  person Ben Companjen    schedule 18.04.2013
comment
Използвам тракер от GNOME. Tracker използва SPARQL. Премахнах SILENT INTO ‹urn:uuid:38f› и поведението е същото.   -  person Cumatru    schedule 18.04.2013


Отговори (1)


Вашият втори оператор SPARQL INSERT е неправилно образуван:

INSERT {
    <urn:artist:38caadd1f13bf78a26aca0e7d42a8f58> 
        a nmm:Artist ;
        nmm:artistName 'Aesop'; 
        ?f nmm:performer <urn:artist:38caadd1f13bf78a26aca0e7d42a8f58>;  
        nmm:extEnsemble <urn:artist:38caadd1f13bf78a26aca0e7d42a8f58>  
} WHERE { ?f nie:url 'file.mp3'}

Има ;, където трябва да бъде ., за да затворите тройка и да започнете нова тройка, което означава, че ?f има позицията на предиката в тройката. Тъй като <urn:uuid:38f> се дефинира като nfo:FileDataObject, nie:InformationElement, nmm:MusicPiece и nfo:Audio, но не и rdfs:Property или OWL свойство, Tracker сигнализира, че няма свойство, идентифицирано от URI <urn:uuid38f>.

Правилното твърдение би било

INSERT {
    <urn:artist:38caadd1f13bf78a26aca0e7d42a8f58> 
        a nmm:Artist ;
        nmm:artistName 'Aesop' . 

    ?f nmm:performer <urn:artist:38caadd1f13bf78a26aca0e7d42a8f58>;  
        nmm:extEnsemble <urn:artist:38caadd1f13bf78a26aca0e7d42a8f58>  
} WHERE { ?f nie:url 'file.mp3'}
person Ben Companjen    schedule 18.04.2013