Describing configurations of software experiments as Linked Data

Joachim Van Herwegen
Joachim Van HerwegenSemantic Web Researcher at imec - Ghent University
Describing configurations
of software experiments
as Linked Data
Joachim Van Herwegen, Ruben Taelman, Sarven Capadisli, Ruben Verborgh
https://linkedsoftwaredependencies.org/articles/describing-experiments/
Why write research articles?
We want other researchers…
2
Why write research articles?
We want other researchers…
…to re-use our data.
…to re-use our software.
…to build upon our results.
3
Why write research articles?
We want other researchers…
…to re-use our data.
…to re-use our software.
…to build upon our results.
4
Paper evaluation (2014)
“We provide all source code of the implementations, as
well as the full benchmark configuration, at
http://example.com.”
5
Paper evaluation (2014)
“We provide all source code of the implementations, as
well as the full benchmark configuration, at
http://example.com.”
6
Paper evaluation (2014)
“We provide all source code of the implementations, as
well as the full benchmark configuration, at
http://example.com.”
“… is compared to Virtuoso (6.1.8 and 7.1.1) and Jena
Fuseki (TDB 1.0.1 and HDT 1.1.1).”
7
Paper evaluation (2014)
“We provide all source code of the implementations, as
well as the full benchmark configuration, at
http://example.com.”
“… is compared to Virtuoso (6.1.8 and 7.1.1) and Jena
Fuseki (TDB 1.0.1 and HDT 1.1.1).”
8
Paper evaluation (2014)
“We provide all source code of the implementations, as
well as the full benchmark configuration, at
https://github.com/LinkedDataFragments/.”
“… is compared to Virtuoso (6.1.8 and 7.1.1) and Jena
Fuseki (TDB 1.0.1 and HDT 1.1.1).”
9
Improved evaluation description
Exact and complete description of the setup
10
Improved evaluation description
Exact and complete description of the setup
… using Linked Data
11
Improved evaluation description
Exact and complete description of the setup
… using Linked Data
… for automatic instantiation.
12
Describing configurations as Linked Data
Interlinking software modules
Instantiating software components
Updated evaluation
13
Describing configurations as Linked Data
Interlinking software modules
Instantiating software components
Updated evaluation
14
Interlinking software modules
Which software modules were used?
Which evaluations made use of this module?
Which other modules depend on this module?
15
Node Package Manager (npm)
Package manager for JavaScript
16
Node Package Manager (npm)
Package manager for JavaScript
17
http://www.modulecounts.com
Node Package Manager (npm)
Package manager for JavaScript
Convert to
Linked Data
18
http://www.modulecounts.com
Package.json
{
"name": "ldf-server",
"version": "2.2.2",
"license": "MIT",
"repository": {
"type": "git",
"url": "git@github.com:LinkedDataFragments/Server.js.git"
},
"bugs": {
"url": "https://github.com/LinkedDataFragments/Server.js/issues"
},
"dependencies": {
"asynciterator": "^1.1.0",
"jsonld": "^0.4.11",
"lodash": "^2.4.2"
}
}
19
Package.json
{
"name": "ldf-server",
"version": "2.2.2",
"license": "MIT",
"repository": {
"type": "git",
"url": "git@github.com:LinkedDataFragments/Server.js.git"
},
"bugs": {
"url": "https://github.com/LinkedDataFragments/Server.js/issues"
},
"dependencies": {
"asynciterator": "^1.1.0",
"jsonld": "^0.4.11",
"lodash": "^2.4.2"
}
}
20
Package.jsonld
Convert JSON to JSON-LD to generate Linked Data
21
Package.jsonld
Convert JSON to JSON-LD to generate Linked Data
ldf-server:2.2.2 a doap:Version ;
doap:name "ldf-server" ;
doap:revision "2.2.2" ;
spdx:licenseDeclared spdx:MIT ;
doap:repository <git+ssh://git@github.com/…/Server.js.git> ;
npm:dependency asynciterator:^1.1.0 ;
npm:dependency jsonld:^0.4.11 ;
npm:dependency lodash:^2.4.2 .
<git+ssh://git@github.com/…/Server.js.git> a doap:GitRepository .
22
Describing configurations as Linked Data
Interlinking software modules
Instantiating software components
Updated evaluation
23
LDF Server
"datasources": {
"dbpedia": {
"title": "DBpedia 2014",
"type": "HdtDatasource"
"settings": { "file": "data/dbpedia2014.hdt" }
}
}
24
LDF Server
"datasources": {
"dbpedia": {
"title": "DBpedia 2014",
"type": "HdtDatasource"
"settings": { "file": "data/dbpedia2014.hdt" }
}
}
JSON  JSON-LD
ex:myServer ldfs:datasource ex:MyHdtDataSource
ex:MyHdtDataSource a ldfs:DatasourceHdt;
rdfs:label "DBpedia 2014";
ldfs:hdtFile "data/dbpedia2014.hdt".
25
Components.js
Instantiation framework that interprets this config
ex:myServer ldfs:datasource ex:MyHdtDataSource
ex:MyHdtDataSource a ldfs:DatasourceHdt;
rdfs:label "DBpedia 2014";
ldfs:hdtFile "data/dbpedia2014.hdt".
26
Components.js
Instantiation framework that interprets this config
ex:myServer ldfs:datasource ex:MyHdtDataSource
ex:MyHdtDataSource a ldfs:DatasourceHdt;
rdfs:label "DBpedia 2014";
ldfs:hdtFile "data/dbpedia2014.hdt".
How?
27
Object Oriented Ontology
28
Object Oriented Ontology
29
Component description
ldfs:DatasourceHdt a oo:Class ;
rdfs:subClassOf ldfs:Datasource ;
oo:componentPath "datasources.HdtDatasource" ;
oo:parameter ldfs:hdtFile ;
oo:constructorArguments ([
rdfs:subclassOf ldfs:DatasourceConstructor ;
om:field [ om:fieldName "file" ;
om:fieldValue ldfs:hdtFile ]
]) .
ldfs:hdtFile rdfs:range xsd:string .
30
Component description
ldfs:DatasourceHdt a oo:Class ;
rdfs:subClassOf ldfs:Datasource ;
oo:componentPath "datasources.HdtDatasource" ;
oo:parameter ldfs:hdtFile ;
oo:constructorArguments ([
rdfs:subclassOf ldfs:DatasourceConstructor ;
om:field [ om:fieldName "file" ;
om:fieldValue ldfs:hdtFile ]
]) .
ldfs:hdtFile rdfs:range xsd:string .
31
class DatasourceHdt extends Datasource {
file: string;
constructor (input) {
super(input);
this.file = file;
}
}
Component description
ldfs:DatasourceHdt a oo:Class ;
rdfs:subClassOf ldfs:Datasource ;
oo:componentPath "datasources.HdtDatasource" ;
oo:parameter ldfs:hdtFile ;
oo:constructorArguments ([
rdfs:subclassOf ldfs:DatasourceConstructor ;
om:field [ om:fieldName "file" ;
om:fieldValue ldfs:hdtFile ]
]) .
ldfs:hdtFile rdfs:range xsd:string .
External file  can be written for existing code
32
class DatasourceHdt extends Datasource {
file: string;
constructor (input) {
super(input);
this.file = file;
}
}
Components.js
ex:myServer ldfs:datasource ex:MyHdtDataSource
ex:MyHdtDataSource a ldfs:DatasourceHdt;
rdfs:label "DBpedia 2014";
ldfs:hdtFile "data/dbpedia2014.hdt".
Allows users to fully set up the same system by
providing a URI to a config
33
Describing configurations as Linked Data
Interlinking software modules
Instantiating software components
Updated evaluation
34
Updated evaluation
Describe steps using RDFa in HTML paper.
Link to exact versions of all modules used.
Link to RDF config file.
Link to exact evaluation results.
35
Updated evaluation
“5. Install the server software configuration,
implementing the TPF specification, with its
dependencies on the server.”
36
Updated evaluation
“5. Install the server software configuration,
implementing the TPF specification, with its
dependencies on the server.”
ldf:experiment npm:engine node:v6.8.1, npmv:4.2.0;
doap:name "ldf-server";
doap:revision "2.2.1";
doc:dependsOn strftime:0.6.2;
doc:dependsOn asynciterator:1.1.0.
strftime:0.6.2 doap:revision "0.6.2"; doap:name "strftime".
asynciterator:1.1.0 doap:revision "1.1.0"; doap:name "asynciterator".
…
37
Updated evaluation
“5. Install the server software configuration,
implementing the TPF specification, with its
dependencies on the server.”
ex:myServer ldfs:datasource ex:MyHdtDataSource
ex:MyHdtDataSource a ldfs:DatasourceHdt;
rdfs:label "DBpedia 2014";
ldfs:hdtFile "data/dbpedia2014.hdt".
38
Updated evaluation
“5. Install the server software configuration,
implementing the TPF specification, with its
dependencies on the server.”
ex:myServer ldfs:datasource ex:MyCustomDataSource
ex:MyCustomDataSource a ex:CustomDatasource;
rdfs:label "DBpedia 2014";
ex:Uri "http://example.com/custom";
ex:samples 5.
39
Conclusion
Interlinking research allows for…
40
Conclusion
Interlinking research allows for…
… better reproducability.
… better re-use.
… better research.
41
1 of 41

Recommended

Poster GraphQL-LD: Linked Data Querying with GraphQL by
Poster GraphQL-LD: Linked Data Querying with GraphQLPoster GraphQL-LD: Linked Data Querying with GraphQL
Poster GraphQL-LD: Linked Data Querying with GraphQLRuben Taelman
263 views1 slide
EKAW - Publishing with Triple Pattern Fragments by
EKAW - Publishing with Triple Pattern FragmentsEKAW - Publishing with Triple Pattern Fragments
EKAW - Publishing with Triple Pattern FragmentsRuben Taelman
425 views31 slides
Poster Declaratively Describing Responses of Hypermedia-Driven Web APIs by
Poster Declaratively Describing Responses of Hypermedia-Driven Web APIsPoster Declaratively Describing Responses of Hypermedia-Driven Web APIs
Poster Declaratively Describing Responses of Hypermedia-Driven Web APIsRuben Taelman
287 views1 slide
Complex queries in a distributed multi-model database by
Complex queries in a distributed multi-model databaseComplex queries in a distributed multi-model database
Complex queries in a distributed multi-model databaseMax Neunhöffer
1K views70 slides
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources by
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data SourcesVirtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sourcesrumito
3.4K views30 slides
Graph Analytics with ArangoDB by
Graph Analytics with ArangoDBGraph Analytics with ArangoDB
Graph Analytics with ArangoDBArangoDB Database
1K views56 slides

More Related Content

What's hot

ArangoDB by
ArangoDBArangoDB
ArangoDBArangoDB Database
5.6K views43 slides
DataBearings: A semantic platform for data integration on IoT, Artem Katasonov by
DataBearings: A semantic platform for data integration on IoT, Artem KatasonovDataBearings: A semantic platform for data integration on IoT, Artem Katasonov
DataBearings: A semantic platform for data integration on IoT, Artem KatasonovVTT Technical Research Centre of Finland Ltd
1.2K views21 slides
Learning W3C Linked Data Platform with examples by
Learning W3C Linked Data Platform with examplesLearning W3C Linked Data Platform with examples
Learning W3C Linked Data Platform with examplesNandana Mihindukulasooriya
7.1K views58 slides
W3C Linked Data Platform Overview by
W3C Linked Data Platform OverviewW3C Linked Data Platform Overview
W3C Linked Data Platform OverviewSteve Speicher
1K views31 slides
Introduction to Linked Data Platform (LDP) by
Introduction to Linked Data Platform (LDP)Introduction to Linked Data Platform (LDP)
Introduction to Linked Data Platform (LDP)Hector Correa
977 views26 slides
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics by
Approaching Join Index: Presented by Mikhail Khludnev, Grid DynamicsApproaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid DynamicsLucidworks
5.1K views56 slides

What's hot(20)

W3C Linked Data Platform Overview by Steve Speicher
W3C Linked Data Platform OverviewW3C Linked Data Platform Overview
W3C Linked Data Platform Overview
Steve Speicher1K views
Introduction to Linked Data Platform (LDP) by Hector Correa
Introduction to Linked Data Platform (LDP)Introduction to Linked Data Platform (LDP)
Introduction to Linked Data Platform (LDP)
Hector Correa977 views
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics by Lucidworks
Approaching Join Index: Presented by Mikhail Khludnev, Grid DynamicsApproaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Lucidworks5.1K views
Querying federations 
of Triple Pattern Fragments by Ruben Verborgh
Querying federations 
of Triple Pattern FragmentsQuerying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern Fragments
Ruben Verborgh1.2K views
Import Database Data using RODBC in R Studio by Rupak Roy
Import Database Data using RODBC in R StudioImport Database Data using RODBC in R Studio
Import Database Data using RODBC in R Studio
Rupak Roy323 views
RethinkDB - the open-source database for the realtime web by Alex Ivanov
RethinkDB - the open-source database for the realtime webRethinkDB - the open-source database for the realtime web
RethinkDB - the open-source database for the realtime web
Alex Ivanov812 views
Learning spark ch05 - Loading and Saving Your Data by phanleson
Learning spark ch05 - Loading and Saving Your DataLearning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your Data
phanleson1.5K views
LDP4j: A framework for the development of interoperable read-write Linked Da... by Nandana Mihindukulasooriya
LDP4j: A framework for the development of interoperable read-write Linked Da...LDP4j: A framework for the development of interoperable read-write Linked Da...
LDP4j: A framework for the development of interoperable read-write Linked Da...
PharoDAYS 2015: Pharo Status - by Markus Denker by Pharo
PharoDAYS 2015: Pharo Status - by Markus DenkerPharoDAYS 2015: Pharo Status - by Markus Denker
PharoDAYS 2015: Pharo Status - by Markus Denker
Pharo811 views
The new CIARD RING , a machine-readable directory of datasets for agriculture by Valeria Pesce
The new CIARD RING, a machine-readable directory of datasets for agricultureThe new CIARD RING, a machine-readable directory of datasets for agriculture
The new CIARD RING , a machine-readable directory of datasets for agriculture
Valeria Pesce606 views

Similar to Describing configurations of software experiments as Linked Data

Case Study On System Requirement Modeling by
Case Study On System Requirement ModelingCase Study On System Requirement Modeling
Case Study On System Requirement ModelingLaura Scott
3 views39 slides
ExSchema - ICSM'13 by
ExSchema - ICSM'13ExSchema - ICSM'13
ExSchema - ICSM'13jccastrejon
539 views17 slides
Organizing the Data Chaos of Scientists by
Organizing the Data Chaos of ScientistsOrganizing the Data Chaos of Scientists
Organizing the Data Chaos of ScientistsAndreas Schreiber
1.1K views70 slides
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v... by
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...Felipe Prado
37 views25 slides
DataFinder: A Python Application for Scientific Data Management by
DataFinder: A Python Application for Scientific Data ManagementDataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data ManagementAndreas Schreiber
5K views56 slides
Operator SDK for K8s using Go by
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using GoCloudOps2005
1.6K views34 slides

Similar to Describing configurations of software experiments as Linked Data(20)

Case Study On System Requirement Modeling by Laura Scott
Case Study On System Requirement ModelingCase Study On System Requirement Modeling
Case Study On System Requirement Modeling
Laura Scott3 views
ExSchema - ICSM'13 by jccastrejon
ExSchema - ICSM'13ExSchema - ICSM'13
ExSchema - ICSM'13
jccastrejon539 views
Organizing the Data Chaos of Scientists by Andreas Schreiber
Organizing the Data Chaos of ScientistsOrganizing the Data Chaos of Scientists
Organizing the Data Chaos of Scientists
Andreas Schreiber1.1K views
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v... by Felipe Prado
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
Felipe Prado37 views
DataFinder: A Python Application for Scientific Data Management by Andreas Schreiber
DataFinder: A Python Application for Scientific Data ManagementDataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data Management
Operator SDK for K8s using Go by CloudOps2005
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using Go
CloudOps20051.6K views
TypeScript - Silver Bullet for the Full-stack Developers by Rutenis Turcinas
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack Developers
Rutenis Turcinas20.3K views
Building and deploying LLM applications with Apache Airflow by Kaxil Naik
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache Airflow
Kaxil Naik92 views
Top 30 Node.js interview questions by techievarsity
Top 30 Node.js interview questionsTop 30 Node.js interview questions
Top 30 Node.js interview questions
techievarsity386 views
Null Mumbai Meet_Android Reverse Engineering by Samrat Das by nullowaspmumbai
Null Mumbai Meet_Android Reverse Engineering by Samrat DasNull Mumbai Meet_Android Reverse Engineering by Samrat Das
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
nullowaspmumbai984 views
SCAP for openSUSE by Kazuki Omo
SCAP for openSUSESCAP for openSUSE
SCAP for openSUSE
Kazuki Omo3.1K views
Towards Reusable Research Software by dgarijo
Towards Reusable Research SoftwareTowards Reusable Research Software
Towards Reusable Research Software
dgarijo171 views
Purdue CS354 Operating Systems 2008 by guestd9065
Purdue CS354 Operating Systems 2008Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008
guestd90655K views
FIWARE Global Summit - IDS Implementation with FIWARE Software Components by FIWARE
FIWARE Global Summit - IDS Implementation with FIWARE Software ComponentsFIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE353 views
Recommender.system.presentation.pjug.05.20.2014 by rpbrehm
Recommender.system.presentation.pjug.05.20.2014Recommender.system.presentation.pjug.05.20.2014
Recommender.system.presentation.pjug.05.20.2014
rpbrehm418 views
STAT Requirement Analysis by stat
STAT Requirement AnalysisSTAT Requirement Analysis
STAT Requirement Analysis
stat391 views

Recently uploaded

Deutsch Crimping by
Deutsch CrimpingDeutsch Crimping
Deutsch CrimpingIwiss Tools Co.,Ltd
21 views7 slides
13_DVD_Latch-up_prevention.pdf by
13_DVD_Latch-up_prevention.pdf13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdfUsha Mehta
10 views16 slides
How I learned to stop worrying and love the dark silicon apocalypse.pdf by
How I learned to stop worrying and love the dark silicon apocalypse.pdfHow I learned to stop worrying and love the dark silicon apocalypse.pdf
How I learned to stop worrying and love the dark silicon apocalypse.pdfTomasz Kowalczewski
24 views66 slides
String.pptx by
String.pptxString.pptx
String.pptxAnanthi Palanisamy
47 views24 slides
_MAKRIADI-FOTEINI_diploma thesis.pptx by
_MAKRIADI-FOTEINI_diploma thesis.pptx_MAKRIADI-FOTEINI_diploma thesis.pptx
_MAKRIADI-FOTEINI_diploma thesis.pptxfotinimakriadi
6 views32 slides
Performance of Back-to-Back Mechanically Stabilized Earth Walls Supporting th... by
Performance of Back-to-Back Mechanically Stabilized Earth Walls Supporting th...Performance of Back-to-Back Mechanically Stabilized Earth Walls Supporting th...
Performance of Back-to-Back Mechanically Stabilized Earth Walls Supporting th...ahmedmesaiaoun
12 views84 slides

Recently uploaded(20)

13_DVD_Latch-up_prevention.pdf by Usha Mehta
13_DVD_Latch-up_prevention.pdf13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdf
Usha Mehta10 views
How I learned to stop worrying and love the dark silicon apocalypse.pdf by Tomasz Kowalczewski
How I learned to stop worrying and love the dark silicon apocalypse.pdfHow I learned to stop worrying and love the dark silicon apocalypse.pdf
How I learned to stop worrying and love the dark silicon apocalypse.pdf
_MAKRIADI-FOTEINI_diploma thesis.pptx by fotinimakriadi
_MAKRIADI-FOTEINI_diploma thesis.pptx_MAKRIADI-FOTEINI_diploma thesis.pptx
_MAKRIADI-FOTEINI_diploma thesis.pptx
fotinimakriadi6 views
Performance of Back-to-Back Mechanically Stabilized Earth Walls Supporting th... by ahmedmesaiaoun
Performance of Back-to-Back Mechanically Stabilized Earth Walls Supporting th...Performance of Back-to-Back Mechanically Stabilized Earth Walls Supporting th...
Performance of Back-to-Back Mechanically Stabilized Earth Walls Supporting th...
ahmedmesaiaoun12 views
NEW SUPPLIERS SUPPLIES (copie).pdf by georgesradjou
NEW SUPPLIERS SUPPLIES (copie).pdfNEW SUPPLIERS SUPPLIES (copie).pdf
NEW SUPPLIERS SUPPLIES (copie).pdf
georgesradjou14 views
MSA Website Slideshow (16).pdf by msaucla
MSA Website Slideshow (16).pdfMSA Website Slideshow (16).pdf
MSA Website Slideshow (16).pdf
msaucla46 views
STUDY OF SMART MATERIALS USED IN CONSTRUCTION-1.pptx by AnnieRachelJohn
STUDY OF SMART MATERIALS USED IN CONSTRUCTION-1.pptxSTUDY OF SMART MATERIALS USED IN CONSTRUCTION-1.pptx
STUDY OF SMART MATERIALS USED IN CONSTRUCTION-1.pptx
AnnieRachelJohn31 views
Design and analysis of a new undergraduate Computer Engineering degree – a me... by WaelBadawy6
Design and analysis of a new undergraduate Computer Engineering degree – a me...Design and analysis of a new undergraduate Computer Engineering degree – a me...
Design and analysis of a new undergraduate Computer Engineering degree – a me...
WaelBadawy653 views
Literature review and Case study on Commercial Complex in Nepal, Durbar mall,... by AakashShakya12
Literature review and Case study on Commercial Complex in Nepal, Durbar mall,...Literature review and Case study on Commercial Complex in Nepal, Durbar mall,...
Literature review and Case study on Commercial Complex in Nepal, Durbar mall,...
AakashShakya1257 views
Update 42 models(Diode/General ) in SPICE PARK(DEC2023) by Tsuyoshi Horigome
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Dynamics of Hard-Magnetic Soft Materials by Shivendra Nandan
Dynamics of Hard-Magnetic Soft MaterialsDynamics of Hard-Magnetic Soft Materials
Dynamics of Hard-Magnetic Soft Materials
Shivendra Nandan13 views
A multi-microcontroller-based hardware for deploying Tiny machine learning mo... by IJECEIAES
A multi-microcontroller-based hardware for deploying Tiny machine learning mo...A multi-microcontroller-based hardware for deploying Tiny machine learning mo...
A multi-microcontroller-based hardware for deploying Tiny machine learning mo...
IJECEIAES12 views
2_DVD_ASIC_Design_FLow.pdf by Usha Mehta
2_DVD_ASIC_Design_FLow.pdf2_DVD_ASIC_Design_FLow.pdf
2_DVD_ASIC_Design_FLow.pdf
Usha Mehta19 views
CHI-SQUARE ( χ2) TESTS.pptx by ssusera597c5
CHI-SQUARE ( χ2) TESTS.pptxCHI-SQUARE ( χ2) TESTS.pptx
CHI-SQUARE ( χ2) TESTS.pptx
ssusera597c529 views
Multi-objective distributed generation integration in radial distribution sy... by IJECEIAES
Multi-objective distributed generation integration in radial  distribution sy...Multi-objective distributed generation integration in radial  distribution sy...
Multi-objective distributed generation integration in radial distribution sy...
IJECEIAES15 views

Describing configurations of software experiments as Linked Data

  • 1. Describing configurations of software experiments as Linked Data Joachim Van Herwegen, Ruben Taelman, Sarven Capadisli, Ruben Verborgh https://linkedsoftwaredependencies.org/articles/describing-experiments/
  • 2. Why write research articles? We want other researchers… 2
  • 3. Why write research articles? We want other researchers… …to re-use our data. …to re-use our software. …to build upon our results. 3
  • 4. Why write research articles? We want other researchers… …to re-use our data. …to re-use our software. …to build upon our results. 4
  • 5. Paper evaluation (2014) “We provide all source code of the implementations, as well as the full benchmark configuration, at http://example.com.” 5
  • 6. Paper evaluation (2014) “We provide all source code of the implementations, as well as the full benchmark configuration, at http://example.com.” 6
  • 7. Paper evaluation (2014) “We provide all source code of the implementations, as well as the full benchmark configuration, at http://example.com.” “… is compared to Virtuoso (6.1.8 and 7.1.1) and Jena Fuseki (TDB 1.0.1 and HDT 1.1.1).” 7
  • 8. Paper evaluation (2014) “We provide all source code of the implementations, as well as the full benchmark configuration, at http://example.com.” “… is compared to Virtuoso (6.1.8 and 7.1.1) and Jena Fuseki (TDB 1.0.1 and HDT 1.1.1).” 8
  • 9. Paper evaluation (2014) “We provide all source code of the implementations, as well as the full benchmark configuration, at https://github.com/LinkedDataFragments/.” “… is compared to Virtuoso (6.1.8 and 7.1.1) and Jena Fuseki (TDB 1.0.1 and HDT 1.1.1).” 9
  • 10. Improved evaluation description Exact and complete description of the setup 10
  • 11. Improved evaluation description Exact and complete description of the setup … using Linked Data 11
  • 12. Improved evaluation description Exact and complete description of the setup … using Linked Data … for automatic instantiation. 12
  • 13. Describing configurations as Linked Data Interlinking software modules Instantiating software components Updated evaluation 13
  • 14. Describing configurations as Linked Data Interlinking software modules Instantiating software components Updated evaluation 14
  • 15. Interlinking software modules Which software modules were used? Which evaluations made use of this module? Which other modules depend on this module? 15
  • 16. Node Package Manager (npm) Package manager for JavaScript 16
  • 17. Node Package Manager (npm) Package manager for JavaScript 17 http://www.modulecounts.com
  • 18. Node Package Manager (npm) Package manager for JavaScript Convert to Linked Data 18 http://www.modulecounts.com
  • 19. Package.json { "name": "ldf-server", "version": "2.2.2", "license": "MIT", "repository": { "type": "git", "url": "git@github.com:LinkedDataFragments/Server.js.git" }, "bugs": { "url": "https://github.com/LinkedDataFragments/Server.js/issues" }, "dependencies": { "asynciterator": "^1.1.0", "jsonld": "^0.4.11", "lodash": "^2.4.2" } } 19
  • 20. Package.json { "name": "ldf-server", "version": "2.2.2", "license": "MIT", "repository": { "type": "git", "url": "git@github.com:LinkedDataFragments/Server.js.git" }, "bugs": { "url": "https://github.com/LinkedDataFragments/Server.js/issues" }, "dependencies": { "asynciterator": "^1.1.0", "jsonld": "^0.4.11", "lodash": "^2.4.2" } } 20
  • 21. Package.jsonld Convert JSON to JSON-LD to generate Linked Data 21
  • 22. Package.jsonld Convert JSON to JSON-LD to generate Linked Data ldf-server:2.2.2 a doap:Version ; doap:name "ldf-server" ; doap:revision "2.2.2" ; spdx:licenseDeclared spdx:MIT ; doap:repository <git+ssh://git@github.com/…/Server.js.git> ; npm:dependency asynciterator:^1.1.0 ; npm:dependency jsonld:^0.4.11 ; npm:dependency lodash:^2.4.2 . <git+ssh://git@github.com/…/Server.js.git> a doap:GitRepository . 22
  • 23. Describing configurations as Linked Data Interlinking software modules Instantiating software components Updated evaluation 23
  • 24. LDF Server "datasources": { "dbpedia": { "title": "DBpedia 2014", "type": "HdtDatasource" "settings": { "file": "data/dbpedia2014.hdt" } } } 24
  • 25. LDF Server "datasources": { "dbpedia": { "title": "DBpedia 2014", "type": "HdtDatasource" "settings": { "file": "data/dbpedia2014.hdt" } } } JSON  JSON-LD ex:myServer ldfs:datasource ex:MyHdtDataSource ex:MyHdtDataSource a ldfs:DatasourceHdt; rdfs:label "DBpedia 2014"; ldfs:hdtFile "data/dbpedia2014.hdt". 25
  • 26. Components.js Instantiation framework that interprets this config ex:myServer ldfs:datasource ex:MyHdtDataSource ex:MyHdtDataSource a ldfs:DatasourceHdt; rdfs:label "DBpedia 2014"; ldfs:hdtFile "data/dbpedia2014.hdt". 26
  • 27. Components.js Instantiation framework that interprets this config ex:myServer ldfs:datasource ex:MyHdtDataSource ex:MyHdtDataSource a ldfs:DatasourceHdt; rdfs:label "DBpedia 2014"; ldfs:hdtFile "data/dbpedia2014.hdt". How? 27
  • 30. Component description ldfs:DatasourceHdt a oo:Class ; rdfs:subClassOf ldfs:Datasource ; oo:componentPath "datasources.HdtDatasource" ; oo:parameter ldfs:hdtFile ; oo:constructorArguments ([ rdfs:subclassOf ldfs:DatasourceConstructor ; om:field [ om:fieldName "file" ; om:fieldValue ldfs:hdtFile ] ]) . ldfs:hdtFile rdfs:range xsd:string . 30
  • 31. Component description ldfs:DatasourceHdt a oo:Class ; rdfs:subClassOf ldfs:Datasource ; oo:componentPath "datasources.HdtDatasource" ; oo:parameter ldfs:hdtFile ; oo:constructorArguments ([ rdfs:subclassOf ldfs:DatasourceConstructor ; om:field [ om:fieldName "file" ; om:fieldValue ldfs:hdtFile ] ]) . ldfs:hdtFile rdfs:range xsd:string . 31 class DatasourceHdt extends Datasource { file: string; constructor (input) { super(input); this.file = file; } }
  • 32. Component description ldfs:DatasourceHdt a oo:Class ; rdfs:subClassOf ldfs:Datasource ; oo:componentPath "datasources.HdtDatasource" ; oo:parameter ldfs:hdtFile ; oo:constructorArguments ([ rdfs:subclassOf ldfs:DatasourceConstructor ; om:field [ om:fieldName "file" ; om:fieldValue ldfs:hdtFile ] ]) . ldfs:hdtFile rdfs:range xsd:string . External file  can be written for existing code 32 class DatasourceHdt extends Datasource { file: string; constructor (input) { super(input); this.file = file; } }
  • 33. Components.js ex:myServer ldfs:datasource ex:MyHdtDataSource ex:MyHdtDataSource a ldfs:DatasourceHdt; rdfs:label "DBpedia 2014"; ldfs:hdtFile "data/dbpedia2014.hdt". Allows users to fully set up the same system by providing a URI to a config 33
  • 34. Describing configurations as Linked Data Interlinking software modules Instantiating software components Updated evaluation 34
  • 35. Updated evaluation Describe steps using RDFa in HTML paper. Link to exact versions of all modules used. Link to RDF config file. Link to exact evaluation results. 35
  • 36. Updated evaluation “5. Install the server software configuration, implementing the TPF specification, with its dependencies on the server.” 36
  • 37. Updated evaluation “5. Install the server software configuration, implementing the TPF specification, with its dependencies on the server.” ldf:experiment npm:engine node:v6.8.1, npmv:4.2.0; doap:name "ldf-server"; doap:revision "2.2.1"; doc:dependsOn strftime:0.6.2; doc:dependsOn asynciterator:1.1.0. strftime:0.6.2 doap:revision "0.6.2"; doap:name "strftime". asynciterator:1.1.0 doap:revision "1.1.0"; doap:name "asynciterator". … 37
  • 38. Updated evaluation “5. Install the server software configuration, implementing the TPF specification, with its dependencies on the server.” ex:myServer ldfs:datasource ex:MyHdtDataSource ex:MyHdtDataSource a ldfs:DatasourceHdt; rdfs:label "DBpedia 2014"; ldfs:hdtFile "data/dbpedia2014.hdt". 38
  • 39. Updated evaluation “5. Install the server software configuration, implementing the TPF specification, with its dependencies on the server.” ex:myServer ldfs:datasource ex:MyCustomDataSource ex:MyCustomDataSource a ex:CustomDatasource; rdfs:label "DBpedia 2014"; ex:Uri "http://example.com/custom"; ex:samples 5. 39
  • 41. Conclusion Interlinking research allows for… … better reproducability. … better re-use. … better research. 41