www.openlinksw.com
docs.openlinksw.com

Book Home

Contents
Preface

Virtuoso Functions Guide

Administration
Aggregate Functions
Array Manipulation
BPEL APIs
Backup
Compression
Cursor
Date & Time Manipulation
Debug
Dictionary Manipulation
Encoding & Decoding
File Manipulation
Free Text
Hashing / Cryptographic
LDAP
Locale
Mail
Miscellaneous
Number
Phrases
RDF data
db.dba.rdf_64bit_upg...
db.dba.rdf_audit_met...
db.dba.rdf_backup_me...
db.dba.rdf_convert_r...
db.dba.rdf_datatype_...
db.dba.rdf_graph_col...
db.dba.rdf_graph_dif...
db.dba.rdf_graph_gro...
db.dba.rdf_graph_gro...
db.dba.rdf_langmatch...
db.dba.rdf_load_rdfa
db.dba.rdf_load_rdfx...
db.dba.rdf_load_rdfx...
db.dba.rdf_quad_uri
db.dba.rdf_quad_uri_...
db.dba.rdf_quad_uri_...
db.dba.rdf_regex
db.dba.rdf_restore_m...
db.dba.rdf_suo_apply...
db.dba.rdf_suo_diff_...
db.dba.rdf_triples_t...
db.dba.rdf_triples_t...
db.dba.rdf_ttl2hash
db.dba.rdf_void_stor...
db.dba.sparql_eval
db.dba.sparql_eval_t...
db.dba.sparql_rdb2rd...
db.dba.sparql_rdb2rd...
db.dba.sparql_rexec
db.dba.sparql_rexec_...
db.dba.sparql_rexec_...
db.dba.sparql_select...
db.dba.ttlp
db.dba.ttlp_mt
db.dba.ttlp_mt_local...
group_concat
group_digest
isref
rdf_view_sync_to_phy...
sample
__xml_get_ns_prefix
__xml_get_ns_uri
http_nt_triple
http_ttl_triple
iri_split
ld_dir
rdfs_rule_set
sparql_to_sql_text
Remote SQL Data Source
Replication
SOAP
SQL
String
Transaction
Type Mapping
UDDI
User Defined Types & The CLR
VAD
Virtuoso Java PL API
Virtuoso Server Extension Interface (VSEI)
Web & Internet
XML
XPATH & XQUERY

Functions Index

GROUP_DIGEST

returns an arbitrary value from the multiset passed to it.
GROUP_DIGEST (in token varchar, in delim varchar, in maxlen integer, in mode integer);
Description

GROUP_DIGEST is aggregate function that performs a string concatenation across the values of an expression with a group. The order of the strings is not specified. The separator character used in the concatenation may be given with the scalar argument delimiter. The function is an extended version of sql:GROUP_CONCAT(), with two more arguments: maxlen and mode.

Note: the "sql:" prefix is mandatory when this aggregate is used in SPARQL queries. In SQL queries the prefix is "DB.DBA".

Parameters
token – An item that should be added to a delimited list.
delim – The delimeter character to be used in the concatenation.
maxlen – The maximal allowed length of the result, in characters. Redundant values will be ignored. If the last value does not fit in the "maxlen" entirely, then it can be truncated and "..." is placed at the end of the resulting string.
mode – Bitmask of properties. Right now only bit 1 is used and others are reserved. If the value of the argument is 1 then duplicate values are ignored; value 0 will put duplicate values like in case of sql:GROUP_CONCAT ().
Return Types

any

Examples
Get all ?assets as a list with delimiters.
SQL>SPARQL 
SELECT ?view (sql:GROUP_DIGEST (?path, ' ', 1000, 1)) as ?path_list 
    (sql:GROUP_DIGEST (?asset, ' ', 1000, 1)) as ?asset_list
FROM <http://mygraph.com> 
WHERE
  { 
    ?view <viewPath> ?path ; 
      <viewContent> ?asset ; 
      <viewType>  'phyview'. 
  };
See Also

SAMPLE

GROUP_CONCAT

Differences between SAMPLE, GROUP_CONCAT and GROUP_DIGEST functions usage.