SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Learning W3C Linked Data Platform with examples
Learning W3C Linked Data Platform with examplesLearning W3C Linked Data Platform with examples
Learning W3C Linked Data Platform with examplesNandana Mihindukulasooriya
 
W3C Linked Data Platform Overview
W3C Linked Data Platform OverviewW3C Linked Data Platform Overview
W3C Linked Data Platform OverviewSteve Speicher
 
Introduction to Linked Data Platform (LDP)
Introduction to Linked Data Platform (LDP)Introduction to Linked Data Platform (LDP)
Introduction to Linked Data Platform (LDP)Hector Correa
 
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
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
 
Describing LDP Applications with the Hydra Core Vocabulary
Describing LDP Applications with the Hydra Core VocabularyDescribing LDP Applications with the Hydra Core Vocabulary
Describing LDP Applications with the Hydra Core VocabularyNandana Mihindukulasooriya
 
Formal machines for Streaming XML Querying
Formal machines for Streaming XML QueryingFormal machines for Streaming XML Querying
Formal machines for Streaming XML QueryingJustAnotherAbstraction
 
Querying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern FragmentsQuerying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern FragmentsRuben Verborgh
 
Import Database Data using RODBC in R Studio
Import Database Data using RODBC in R StudioImport Database Data using RODBC in R Studio
Import Database Data using RODBC in R StudioRupak Roy
 
RethinkDB - the open-source database for the realtime web
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 webAlex Ivanov
 
Learning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your DataLearning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your Dataphanleson
 
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...
LDP4j: A framework for the development of interoperable read-write Linked Da...Nandana Mihindukulasooriya
 
Custom Pregel Algorithms in ArangoDB
Custom Pregel Algorithms in ArangoDBCustom Pregel Algorithms in ArangoDB
Custom Pregel Algorithms in ArangoDBArangoDB Database
 
REST meets Semantic Web
REST meets Semantic WebREST meets Semantic Web
REST meets Semantic WebSteve Speicher
 
PharoDAYS 2015: Pharo Status - by Markus Denker
PharoDAYS 2015: Pharo Status - by Markus DenkerPharoDAYS 2015: Pharo Status - by Markus Denker
PharoDAYS 2015: Pharo Status - by Markus DenkerPharo
 
The new CIARD RING , a machine-readable directory of datasets for agriculture
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 agricultureValeria Pesce
 

Was ist angesagt? (20)

ArangoDB
ArangoDBArangoDB
ArangoDB
 
DataBearings: A semantic platform for data integration on IoT, Artem Katasonov
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 Katasonov
 
Learning W3C Linked Data Platform with examples
Learning W3C Linked Data Platform with examplesLearning W3C Linked Data Platform with examples
Learning W3C Linked Data Platform with examples
 
W3C Linked Data Platform Overview
W3C Linked Data Platform OverviewW3C Linked Data Platform Overview
W3C Linked Data Platform Overview
 
Introduction to Linked Data Platform (LDP)
Introduction to Linked Data Platform (LDP)Introduction to Linked Data Platform (LDP)
Introduction to Linked Data Platform (LDP)
 
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
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
 
Describing LDP Applications with the Hydra Core Vocabulary
Describing LDP Applications with the Hydra Core VocabularyDescribing LDP Applications with the Hydra Core Vocabulary
Describing LDP Applications with the Hydra Core Vocabulary
 
Madrid SPARQL handson
Madrid SPARQL handsonMadrid SPARQL handson
Madrid SPARQL handson
 
3 avro hug-2010-07-21
3 avro hug-2010-07-213 avro hug-2010-07-21
3 avro hug-2010-07-21
 
Formal machines for Streaming XML Querying
Formal machines for Streaming XML QueryingFormal machines for Streaming XML Querying
Formal machines for Streaming XML Querying
 
Querying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern FragmentsQuerying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern Fragments
 
Import Database Data using RODBC in R Studio
Import Database Data using RODBC in R StudioImport Database Data using RODBC in R Studio
Import Database Data using RODBC in R Studio
 
RethinkDB - the open-source database for the realtime web
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
 
Learning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your DataLearning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your Data
 
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...
LDP4j: A framework for the development of interoperable read-write Linked Da...
 
Custom Pregel Algorithms in ArangoDB
Custom Pregel Algorithms in ArangoDBCustom Pregel Algorithms in ArangoDB
Custom Pregel Algorithms in ArangoDB
 
REST meets Semantic Web
REST meets Semantic WebREST meets Semantic Web
REST meets Semantic Web
 
CKAN as an open-source data management solution for open data
CKAN as an open-source data management solution for open data CKAN as an open-source data management solution for open data
CKAN as an open-source data management solution for open data
 
PharoDAYS 2015: Pharo Status - by Markus Denker
PharoDAYS 2015: Pharo Status - by Markus DenkerPharoDAYS 2015: Pharo Status - by Markus Denker
PharoDAYS 2015: Pharo Status - by Markus Denker
 
The new CIARD RING , a machine-readable directory of datasets for agriculture
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
 

Ähnlich wie Describing configurations of software experiments as Linked Data

ExSchema - ICSM'13
ExSchema - ICSM'13ExSchema - ICSM'13
ExSchema - ICSM'13jccastrejon
 
Organizing the Data Chaos of Scientists
Organizing the Data Chaos of ScientistsOrganizing the Data Chaos of Scientists
Organizing the Data Chaos of ScientistsAndreas Schreiber
 
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...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...Felipe Prado
 
DataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data ManagementDataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data ManagementAndreas Schreiber
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using GoCloudOps2005
 
TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersRutenis Turcinas
 
Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowKaxil Naik
 
Top 30 Node.js interview questions
Top 30 Node.js interview questionsTop 30 Node.js interview questions
Top 30 Node.js interview questionstechievarsity
 
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
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 Dasnullowaspmumbai
 
SCAP for openSUSE
SCAP for openSUSESCAP for openSUSE
SCAP for openSUSEKazuki Omo
 
Towards Reusable Research Software
Towards Reusable Research SoftwareTowards Reusable Research Software
Towards Reusable Research Softwaredgarijo
 
Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008guestd9065
 
FIWARE Global Summit - IDS Implementation with FIWARE Software Components
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 ComponentsFIWARE
 
Recommender.system.presentation.pjug.05.20.2014
Recommender.system.presentation.pjug.05.20.2014Recommender.system.presentation.pjug.05.20.2014
Recommender.system.presentation.pjug.05.20.2014rpbrehm
 
STAT Requirement Analysis
STAT Requirement AnalysisSTAT Requirement Analysis
STAT Requirement Analysisstat
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsWinston Hsieh
 

Ähnlich wie Describing configurations of software experiments as Linked Data (20)

ExSchema - ICSM'13
ExSchema - ICSM'13ExSchema - ICSM'13
ExSchema - ICSM'13
 
Organizing the Data Chaos of Scientists
Organizing the Data Chaos of ScientistsOrganizing the Data Chaos of Scientists
Organizing the Data Chaos of Scientists
 
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...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
 
DataFinder: A Python Application for Scientific Data Management
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
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using Go
 
TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack Developers
 
Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache Airflow
 
Top 30 Node.js interview questions
Top 30 Node.js interview questionsTop 30 Node.js interview questions
Top 30 Node.js interview questions
 
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
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
 
SCAP for openSUSE
SCAP for openSUSESCAP for openSUSE
SCAP for openSUSE
 
Towards Reusable Research Software
Towards Reusable Research SoftwareTowards Reusable Research Software
Towards Reusable Research Software
 
Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008
 
Javascript mynotes
Javascript mynotesJavascript mynotes
Javascript mynotes
 
ExSchema
ExSchemaExSchema
ExSchema
 
FIWARE Global Summit - IDS Implementation with FIWARE Software Components
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
 
Recommender.system.presentation.pjug.05.20.2014
Recommender.system.presentation.pjug.05.20.2014Recommender.system.presentation.pjug.05.20.2014
Recommender.system.presentation.pjug.05.20.2014
 
STAT Requirement Analysis
STAT Requirement AnalysisSTAT Requirement Analysis
STAT Requirement Analysis
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
SFDX Presentation
SFDX PresentationSFDX Presentation
SFDX Presentation
 
Document Summarizer
Document SummarizerDocument Summarizer
Document Summarizer
 

Kürzlich hochgeladen

TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Industrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESIndustrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESNarmatha D
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 

Kürzlich hochgeladen (20)

TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Industrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESIndustrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIES
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 

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