SPARQL is een declaratieve programmeertaal en protocol voor grafiek database analytics. SPARQL kan alle analyses uitvoeren die SQL kan uitvoeren, plus het kan worden gebruikt voor semantische analyse, het onderzoeken van relaties. Dit maakt het nuttig voor het analyseren van gegevensverzamelingen met zowel gestructureerde als ongestructureerde gegevens. Met SPARQL kunnen gebruikers analyses uitvoeren op informatie die is opgeslagen in een relationele database, maar ook op friend-of-a-friend (FOAF) relaties, PageRank en het kortste pad.
SPARQL is bedacht en gedefinieerd door een W3C standaardisatie comité om analyses uit te voeren op het semantische web of een semantisch netwerk (kennisgrafiek). SPARQL maakt gebruik van de relatie-informatie (semantische laag) die inherent is aan het Resource Description Framework (RDF) om inzicht te krijgen in correlaties tussen objecten.
Heden ten dage is SPARQL de enige semantische querytaal die een standaard is bij het W3C. Als zodanig hebben commerciële organisaties en overheden SPARQL als taal en RDF als datamodel gestandaardiseerd om industriemodellen te bouwen, zoals Financial Industry Business Ontology (FIBO) in de financiële dienstverlening, Clinical Data Interchange Standards Consortium (CDISC) in de farmacie en HL7/FHIR in de gezondheidszorg.
SPARQL vs. SQL
SPARQL heeft veel concepten gemeen met SQL. In beide talen gebruikt de analist bijvoorbeeld SELECT-statements en WHERE-clausules om gegevens te analyseren, evenals ORDER BY-, LIMIT- en OFFSET-commando's. Maar omdat grafische databases gegevens opslaan in triples volgens een eenvoudig SUBJECT-PREDICATE-OBJECT datamodel, is SPARQL ontworpen om gegevens in dit model te bevragen als een manier om de relaties tussen gegevens beter te analyseren.
Voorbeelden van triples zijn:
- Franco-Is-een-persoon
- Mercedes-Is-een-auto
- Franco-Likes-Mercedes
Met deze eenvoudige set van drie triples zou een analist SPARQL kunnen gebruiken om alle mensen in een database te begrijpen, evenals de context achter de data die zij produceren. Omdat de gegevens in een grafische database worden opgeslagen in een enkele tabel met triples in plaats van in meerdere tabellen met gegevens, zijn JOIN-commando's niet nodig en maken daarom geen deel uit van de SPARQL-syntaxis, evenmin als de meeste syntaxis met betrekking tot fact- en dimensietabellen.
SPARQL use cases
De bovenstaande bijzonderheden maken het mogelijk SPARQL en RDF door datawetenschappers en analisten te gebruiken voor uiteenlopende use cases, zoals:
Fraudedetectie - Met SPARQL kan een analist eenvoudig relatiepatronen detecteren, zoals meerdere mensen die hetzelfde IP-adres delen maar zich op verschillende fysieke adressen bevinden.
Geld witwassen - SPARQL wordt gebruikt om semantisch de ingewikkelde relaties tussen entiteiten en transacties te identificeren en te begrijpen, inclusief de vele individuen en organisaties die bij die transacties betrokken zijn
Recommendation Engines - SPARQL laat de analist grafische relaties verkennen tussen informatiecategorieën zoals interesses van klanten, vrienden, en aankoopgeschiedenis. Vervolgens kan zij SPARQL gebruiken voor productaanbevelingen voor een bepaalde klant of klantsegment op basis van welke producten zijn gekocht door anderen die een vergelijkbare aankoopgeschiedenis hebben.
Klanteninzicht - SPARQL helpt u nieuw inzicht te krijgen in de voorkeuren en antipathieën van elke klant in relatie tot andere klanten met vergelijkbare statistische parameters zoals locatie of demografische gegevens.
Geschiedenis van SPARQL
SPARQL en RDF zijn voortgekomen uit een idee dat voor het eerst werd gepubliceerd door Tim Berners-Lee, die benadrukte dat de gegevens die op het web staan beter moeten samenwerken binnen de overheid, het bedrijfsleven en de wetenschap. Door SPARQL en RDF als een standaard protocol, taal en datamodel op te zetten, werd de toetssteen voor het delen van gegevens op het wereldwijde web gecreëerd.