SPARQL-MM

SPARQL-MM is a multimedia-extension for SPARQL 1.1 (www.w3.org/TR/sparql11-query/‎) implemented for Sesame (http://www.openrdf.org/).

License

License

GroupId

GroupId

com.github.tkurz
ArtifactId

ArtifactId

sparql-mm
Last Version

Last Version

2.0
Release Date

Release Date

Type

Type

jar
Description

Description

SPARQL-MM
SPARQL-MM is a multimedia-extension for SPARQL 1.1 (www.w3.org/TR/sparql11-query/‎) implemented for Sesame (http://www.openrdf.org/).
Project URL

Project URL

https://github.com/tkurz/sparql-mm
Source Code Management

Source Code Management

https://github.com/tkurz/sparql-mm

Download sparql-mm

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.tkurz/sparql-mm/ -->
<dependency>
    <groupId>com.github.tkurz</groupId>
    <artifactId>sparql-mm</artifactId>
    <version>2.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.tkurz/sparql-mm/
implementation 'com.github.tkurz:sparql-mm:2.0'
// https://jarcasting.com/artifacts/com.github.tkurz/sparql-mm/
implementation ("com.github.tkurz:sparql-mm:2.0")
'com.github.tkurz:sparql-mm:jar:2.0'
<dependency org="com.github.tkurz" name="sparql-mm" rev="2.0">
  <artifact name="sparql-mm" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.tkurz', module='sparql-mm', version='2.0')
)
libraryDependencies += "com.github.tkurz" % "sparql-mm" % "2.0"
[com.github.tkurz/sparql-mm "2.0"]

Dependencies

compile (9)

Group / Artifact Type Version
org.openrdf.sesame : sesame-repository-sail jar 2.7.8
org.openrdf.sesame : sesame-rio-turtle jar 2.7.8
org.openrdf.sesame : sesame-rio-rdfxml jar 2.7.8
org.openrdf.sesame : sesame-repository-sparql jar 2.7.8
org.openrdf.sesame : sesame-sail-memory jar 2.7.8
com.google.guava : guava jar 18.0
batik : batik-parser jar 1.6-1
com.github.tkurz : media-fragments-uri jar 2.4
org.slf4j : slf4j-api jar 1.7.7

test (2)

Group / Artifact Type Version
junit : junit jar 4.8
org.slf4j : slf4j-log4j12 jar 1.7.7

Project Modules

There are no modules declared in this project.

SPARQL-MM

Extending SPARQL to Multimedia

SPARQL-MM is a multimedia-extension for SPARQL 1.1 implemented for Sesame. By now it supports relation, aggregation and accessor functions for Media Fragments URI 1.0 - and features are constantly extended.

Usage

SPARQL-MM can easily appended to any Sesame Triplestore via Java Class Loader Technology. The package is available on Maven Central.

<dependency>
    <groupId>com.github.tkurz</groupId>
    <artifactId>sparql-mm</artifactId>
    <version>2.0</version>
</dependency>

Examples

Here we just show a few functions that are supported. Get more examples within the tests. All list of all supported functions can be found here.

Temporal Relations

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mm: <http://linkedmultimedia.org/sparql-mm/ns/2.0.0/function#>

SELECT ?t1 ?t2 WHERE {
    ?f1 rdfs:label ?t1.
    ?f2 rdfs:label ?t2.
    FILTER mm:precedes(?f1,?f2)
} ORDER BY ?t1 ?t2

Temporal Aggregation

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mm:  <http://linkedmultimedia.org/sparql-mm/ns/2.0.0/function#>

SELECT ?f1 ?f2 (mm:temporalIntermediate(?f1,?f2) AS ?box) WHERE {
    ?f1 rdfs:label "a".
    ?f2 rdfs:label "b".
}

Temporal Accessors

PREFIX ma: <http://www.w3.org/ns/ma-ont#>
PREFIX mm: <http://linkedmultimedia.org/sparql-mm/ns/2.0.0/function#>

SELECT ?f1 WHERE {
    ?f1 a ma:MediaFragment.
} ORDER BY mm:duration(?f1)

Spatial Relations

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mm: <http://linkedmultimedia.org/sparql-mm/ns/2.0.0/function#>

SELECT ?t1 ?t2 WHERE {
    ?f1 rdfs:label ?t1.
    ?f2 rdfs:label ?t2.
    FILTER mm:rightBeside(?f1,?f2)
} ORDER BY ?t1 ?t2

Spatial Aggregation

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mm:  <http://linkedmultimedia.org/sparql-mm/ns/2.0.0/function#>

SELECT ?f1 ?f2 (mm:spatialIntersection(?f1,?f2) AS ?box) WHERE {
    ?f1 rdfs:label "a".
    ?f2 rdfs:label "b".
}

Spatial Accessors

PREFIX ma: <http://www.w3.org/ns/ma-ont#>
PREFIX mm: <http://linkedmultimedia.org/sparql-mm/ns/2.0.0/function#>

SELECT ?f1 WHERE {
    ?f1 a ma:MediaFragment.
} ORDER BY mm:duration(?f1)

General Relation

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mm: <http://linkedmultimedia.org/sparql-mm/ns/2.0.0/function#>

SELECT ?t1 ?t2 WHERE {
    ?f1 rdfs:label ?t1.
    ?f2 rdfs:label ?t2.
    FILTER mm:equals(?f1,?f2)
} ORDER BY ?t1 ?t2

General Aggregation

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mm:  <http://linkedmultimedia.org/sparql-mm/ns/2.0.0/function#>

SELECT ?f1 ?f2 (mm:boundingBox(?f1,?f2) AS ?box) WHERE {
    ?f1 rdfs:label "a".
    ?f2 rdfs:label "b".
}

General Accessor

PREFIX ma: <http://www.w3.org/ns/ma-ont#>
PREFIX mm: <http://linkedmultimedia.org/sparql-mm/ns/2.0.0/function#>

SELECT ?pixelURI WHERE {
    ?f1 ma:hasFragment ?f1.
    BIND (mm:toPixel(?f1) AS ?pixelURI)
} ORDER BY ?t1 ?t2

Versions

Version
2.0
1.0