많은 수의 정수를 rdf 데이터베이스 (Blazegraph)에 저장하고 싶습니다. 이러한 값은 새 데이터로 업데이트 (증가)되거나 누락 된 경우 작성해야합니다. sparql 1.1에서 그렇게하는 가장 좋은 방법은 무엇입니까?sparql (UPSERT)에서 숫자 카운터 업데이트 또는 생성
-- Inserting or adding A=10, B=1
INSERT INTO tbl (s,p,o) VALUES ('A','cnt',10), ('B','cnt',1)
ON DUPLICATE KEY UPDATE o=o+VALUES(o);
: 나는 SQL (MySQL/MariaDB)에서 그것을 wrtiting 경우, 데이터베이스를 가정하는 것은 처음에는 비어 있으며 테이블의 고유 키 (주어와 술어) "S, P"로 설정이 될 것입니다 결과 RDF 데이터 :
:A :cnt 10 .
:B :cnt 1 .
다음 실행 :
-- Inserting or adding A=3, C=5
INSERT INTO tbl (s,p,o) VALUES ('A','cnt',3), ('C','cnt',5)
ON DUPLICATE KEY UPDATE o=o+VALUES(o);
결과 RDF 데이터 :
:A :cnt 13 .
:B :cnt 1 .
:C :cnt 5 .
그래서 질문은 - 기존 데이터 및 증분을 기반으로 대량 UPSERT를 수행하고이를 효율적으로 만드는 SPARQL 쿼리를 작성하는 방법입니다.
(https://www.w3.org/TR/sparql11-update/) 쿼리 - 사실 나는 보지 않고 당신에게 쿼리의 아이디어를 줄 수 없습니다 데이터 – AKSW
답장을 보내 주셔서 감사합니다. 필요한 항목을 명확히하기 위해 질문을 업데이트했습니다. 감사!! – Yurik
초기 문제는 https://phabricator.wikimedia.org/T174981입니다. https://stackoverflow.com/q/39438022/7879193 –