Archives and directories can be seen as files with the purpose of collecting other files.
According to the Facade-X metamodel archives and directories can be seen as lists of filenames.
SPARQL Anything selects this transformer for the following file extensions:
- zip
- tar
SPARQL Anything selects this transformer for the following media types:
- application/zip
- application/x-tar
- Tar: io.github.sparqlanything.zip.TarTriplifier
- Zip: io.github.sparqlanything.zip.ZipTriplifier
- File-system directories: io.github.sparqlanything.zip.FolderTriplifier
example.tar
├── test.csv
├── test.json
├── test.txt
└── test.xml
Located at https://sparql-anything.cc/examples/example.tar
CONSTRUCT
{
?s ?p ?o .
}
WHERE
{ SERVICE <x-sparql-anything:location=https://sparql-anything.cc/examples/example.tar>
{ ?s ?p ?o }
}
@prefix fx: <http://sparql.xyz/facade-x/ns/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix xyz: <http://sparql.xyz/facade-x/data/> .
[ rdf:type fx:root ;
rdf:_1 "example/" ;
rdf:_2 "example/test.csv" ;
rdf:_3 "example/test.json" ;
rdf:_4 "example/test.xml" ;
rdf:_5 "example/test.txt"
] .
/Users/lgu/Desktop/example
├── test.csv
├── test.json
├── test.txt
└── test.xml
CONSTRUCT
{
?s ?p ?o .
}
WHERE
{ SERVICE <x-sparql-anything:location=/Users/lgu/Desktop/example>
{ ?s ?p ?o }
}
@prefix fx: <http://sparql.xyz/facade-x/ns/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix xyz: <http://sparql.xyz/facade-x/data/> .
[ rdf:type fx:root ;
rdf:_1 "file:///Users/lgu/Desktop/example/" ;
rdf:_2 "file:///Users/lgu/Desktop/example/test.csv" ;
rdf:_3 "file:///Users/lgu/Desktop/example/test.json" ;
rdf:_4 "file:///Users/lgu/Desktop/example/test.xml" ;
rdf:_5 "file:///Users/lgu/Desktop/example/test.txt"
] .
Option name | Description | Valid Values | Default Value |
---|---|---|---|
archive.matches | It tells sparql.anything to evaluate a regular expression on the filenames within the archives. In this case the slots will be filled with the files that match the regex only. | Any valid regular expression | .* |
It tells sparql.anything to evaluate a regular expression on the filenames within the archives. In this case the slots will be filled with the files that match the regex only.
Any valid regular expression.
.*
example.tar
├── test.csv
├── test.json
├── test.txt
└── test.xml
Located at https://sparql-anything.cc/examples/example.tar
PREFIX xyz: <http://sparql.xyz/facade-x/data/>
PREFIX fx: <http://sparql.xyz/facade-x/ns/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
CONSTRUCT
{
?s1 ?p1 ?o1 .
}
WHERE
{ SERVICE <x-sparql-anything:location=https://sparql-anything.cc/examples/example.tar>
{ fx:properties
fx:archive.matches ".*txt|.*csv" .
?s fx:anySlot ?file1
SERVICE <x-sparql-anything:>
{ fx:properties
fx:location ?file1 ;
fx:from-archive "https://sparql-anything.cc/examples/example.tar" .
?s1 ?p1 ?o1
}
}
}
@prefix fx: <http://sparql.xyz/facade-x/ns/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix xyz: <http://sparql.xyz/facade-x/data/> .
[ rdf:type fx:root ;
rdf:_1 [ rdf:_1 "Year" ;
rdf:_2 "Make" ;
rdf:_3 "Model" ;
rdf:_4 "Description" ;
rdf:_5 "Price"
] ;
rdf:_2 [ rdf:_1 "1997" ;
rdf:_2 "Ford" ;
rdf:_3 "E350" ;
rdf:_4 "ac, abs, moon" ;
rdf:_5 "3000.00"
] ;
rdf:_3 [ rdf:_1 "1999" ;
rdf:_2 "Chevy" ;
rdf:_3 "Venture \"Extended Edition\"" ;
rdf:_4 "" ;
rdf:_5 "4900.00"
] ;
rdf:_4 [ rdf:_1 "1999" ;
rdf:_2 "Chevy" ;
rdf:_3 "Venture \"Extended Edition, Very Large\"" ;
rdf:_4 "" ;
rdf:_5 "5000.00"
] ;
rdf:_5 [ rdf:_1 "1996" ;
rdf:_2 "Jeep" ;
rdf:_3 "Grand Cherokee" ;
rdf:_4 "MUST SELL!\nair, moon roof, loaded" ;
rdf:_5 "4799.00"
]
] .
[ rdf:type fx:root ;
rdf:_1 "this is a test"
] .