【发布时间】:2016-12-13 01:55:05
【问题描述】:
如何在java中实现这个算法?
SPARQL query extracts the patterns
with length one and their frequencies from the linked data:
SELECT DISTINCT ?c1 ?p ?c2 (COUNT(*) as ?count)
WHERE { ?x ?p ?y. ?x rdf:type ?c1. ?y rdf:type ?c2. }
GROUP BY ?c1 ?p ?c2
输入:LD(链接的数据存储库),k(模式的最大长度)
输出:一组 LD 模式
1: P1 <- extract patterns of length one from LD
2: P <- P1, i <-1
3: while i < k do
4: for each pattern pi -> Pi do
5: for each ontology class c in pi do
6: P1,c all the patterns in P1 that include c
7: for each pattern p1,c 2 P1,c do
8: pjoin construct a pattern by joining pi and p1,c on node c
9: if pjoin exists in LD then
10: Pi+1 Pi+1 [ pjoin
11: end if
12: end for
13: end for
14: end for
15: P P [ Pi+1, i i + 1
16: end while
return P
【问题讨论】:
-
展示你的努力!
-
while (results.hasNext()) { QuerySolution qs = results.next(); System.out.println(qs); //显示结果 //提取LD模式的递归算法 List
LD = new ArrayList();诠释 i = 1;诠释 k = 2; //ResultSet P1 = 结果; //ResultSet = Pi, qs = p //ResultSet P = P1; while (i Pi
标签: java arrays algorithm sparql recursive-datastructures