0
나는 rdflib을 사용하여 상당히 새로운 편이며 내 문제는 오히려 간단합니다. 나는 각자 파일에 동일한 도메인을 가지고있는 반면, 상당히 사려 깊은 양의 데이터를 담고있는 여러 개의 n-triple 파일을 가지고있다. 객체의 도메인은 각 파일마다 다르다. 지금은 입력 하나 이상의 파일을 원하는 동일한 주제에 포함 된 트리플 얻을 수있는 데이터 세트의 다른 모든 파일과 비교 :python rdflib transitive query
[selected file]
a owl:sameAs b
[other files]
a owl:sameAs c
a owl:sameAs d
가 출력 될해야 :
b owl:sameAs c
b owl:sameAs d
을
현재의 접근 방식은 매우 순진하며 선택한 파일의 모든 트리플을 반복하면서 동일한 주제와 술어가 포함되어 있으면 다른 모든 트리플을 검사하므로 너무 오래 걸립니다.
...
for mainGraph in mainGraphs:
for s,p,o in mainGraph:
for graph in graphs:
for s1,p1,o1 in graph:
if s == s1 and p == p1:
backlinks.add((o, OWL.sameAs, o1))
...
내가 중 하나가 작동하지 않은 SPARQL 쿼리를 삽입하려고 : 같은 일을 할 것 빠르고 간단한 방법이 있는지
...
for mainGraph in mainGraphs:
for graph in graphs:
union = mainGraph + graph
qres = union.query(
"""SELECT DISTINCT ?x ?y
WHERE
{
?x owl:sameAs+ ?y .
}""")
...
내 질문입니다.
도움을 주시면 감사하겠습니다.
모두'(s p o)'대신에 두 파일의'(s owl : sameAs o)'트리플 만 선택하면 안 되는가? 아니면'owl : sameAs' 데이터 샘플이 그 예입니까? – AKSW
다른 조건자를 포함 할 수있는 트리플이있을 수 있으므로 owl : samAs 데이터 집합의 무결성을 보장하기위한 추가 검사입니다. –