Abfragen

Der K10plus Knowledge Graph kann mit der Abfragesprache Cypher nach Informationen durchsucht werden.

Beispiele

Welche RVK-Notationen haben ein “exactMatch” oder “narrowMatch” mit BK-Notationen, die mit PPNs verbunden werden können MATCH p=((r:rvk)-[m]->(b:bk)<-[]-(t:title)) WHERE m.relation = 'exactMatch' or m.relation = 'narrowMatch' RETURN p. Mit so einer Frage ließen sich PPNs finden, die noch mit RVK angereichert werden können.

MATCH (b:bk) RETURN b gibt die gesamte Basisklassifikation zurück.

Mit MATCH p=(t:title)-[]->() WHERE t.ppn = "010000844" RETURN p lassen sich alle Sachgebiete einer bestimmten PPN ausgeben, in diesem Fall 010000844.

Andersrum lässt sich mit MATCH p=()-[r:subject]->(r:rvk) WHERE r.notation = "MS 2870" RETURN p finden, wie viel ein Sachgebiet in K10plus genutzt wird.

Mit MATCH p=((r:rvk)-[]->(b:bk)) WHERE b.notation = "17.03" RETURN p lassen sich alle Mappings eine Notation anzeigen.

CYPHER queries for each query type:

occurrences:
MATCH (t:title)-[]->(n:?) WHERE n.notation = "?" RETURN count(t) AS freq

coOccurrences:
MATCH (t:title)-[]->(n:?) WHERE n.notation = "?" MATCH (t)-[]->(m:?) RETURN head(LABELS(m)), m.notation, count(m) AS freq

subjects:
MATCH (t:title)-[]->(n) WHERE t.ppn = "?" RETURN head(LABELS(n)), n.notation

records:
MATCH (t:title)-[]->(n:?) WHERE n.notation = "?" RETURN t.ppn LIMIT ?

CYPHER queries with their respective sample query:

occurrences of RVK DG 9000 MATCH (t:title)-[]->(r:rvk) WHERE r.notation = "DG 9000" RETURN count(t)

co-occurrences of RVK DG 9000 in BK MATCH (t:title)-[]->(r:rvk) WHERE r.notation = "DG 9000" MATCH (t)-[]->(b:bk) RETURN head(LABELS(b)), b.notation, count(b)

co-occurrences of RVK DG 9000 in all vocabularies

MATCH (t:title)-[]->(r:rvk) WHERE r.notation = "DG 9000" MATCH (t)-[]->(n) WHERE not LABELS(n) = ["rvk"] RETURN head(LABELS(n)), n.notation, count(n)

co-occurrences of RVK DG 9000 in all vocabularies (including RVK) MATCH (t:title)-[]->(r:rvk) WHERE r.notation = "DG 9000" MATCH (t)-[]->(n) RETURN head(LABELS(n)), n.notation, count(n)

subjects of a record (all vocabularies)

MATCH (t:title)-[]->(n) WHERE t.ppn = "012401471" RETURN head(LABELS(n)), n.notation

subjects of a record (selected vocabulary)

MATCH (t:title)-[]->(r:rvk) WHERE t.ppn = "012401471"
RETURN head(LABELS(r)), r.notation

records of a subject

MATCH (t:title)-[]->(b:bk) WHERE b.notation = "20.04" RETURN t.ppn