2016-06-15 12 views
1

Ich möchte eine RDF-Turtle-Format-Datei erstellen, die Konfiguration für meine Eingabe und Ausgabe hat. Im Folgenden ist der Code, den ich gekommen sind oben mit:RDF-basierte Eigenschaftendatei

@prefix ex: <http://www.example.com/ex#> . 
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#>. 

#ex:hasHeterogeneity can have multiple heterogeneites seperate by ","# 

#generateFiles enables or disables generation of files.# 

ex:seed-1 
    ex:hasHeterogeneity "M1,M2"; 
    ex:hasInputPath  "C:\\seed-1.txt" 
    ex:hasOutputPath  "C:\\output" 
    ebucore:filename  "seed-1.txt"; 
    rdf:type    ex:Heterogeneity . 

ex:seed-2 
     ex:hasHeterogeneity "M2,M3"; 
     ex:hasInputPath  "C:\\seed2.aml" 
     ex:hasOutputPath  "C:\\output" 
     ebucore:filename  "seed-2.aml"; 
     ex:generateFiles  "true"; 
     rdf:type    ex:Heterogeneity . 

Mein Ziel ist es Eingabedatei seed1.aml haben und seinen Eingangs- und Ausgangspfad und Art der Heterogenität es enthält. M2, M3 sind jedoch Codes dieser Heterogenitäten, aber ich bin nicht sicher, ob ich es wie Literale in der RDF setzen kann. Ich muss definieren, was sie zuerst sind und dann verbinden Sie es mit meinem RDF.

m1 a ex:Heterogeneity ; 
m1 schema:name "Data types"@en; 
m2........ 

Dann someway auf diese Weise zu verbinden:

ex:seed-1 
ex:hasHeterogeneity m1 , m2 

Jede Hilfe für eine endgültige Ausgabe würde geschätzt.

+1

Ihre Datei ist nicht gut gebildet. Einige der Zeilen fehlen Semikola, z. B. 'ex: hasOutputPath" C: \\ output "' hat am Ende kein Semikolon. Die Datei sollte nicht so parsen. –

+0

danke für das Hinweis, es war ein Tippfehler. –

Antwort

2

jedoch M2, M3 sind Codes dieser Heterogenitäten, aber ich bin nicht sicher, ob ich es wie Literale dies im rdf setzen können.

ex:seed-2 
     ex:hasHeterogeneity "M2,M3"; 

Wenn Sie mehrere Literalwerte benötigen, warum verwenden nicht tatsächlich mehrere Werte. Zum Beispiel

ex:seed-2 
    ex:hasHeterogeneity "M2", "M3" ; 
    ex:hasInputPath  "C:\\seed2.aml" ; 
    # ... 

Dann können Sie tatsächlich die Werte einzeln abfragen. ZB wenn Sie die Werte an einer anderen Stelle definiert haben, zB:

ex:M2 rdfs:label "M2" ; 
    # ... 

Dann könnten Sie eine SPARQL-Abfrage wie

?seed ex:hasHeterogeneity ?hLabel . 
?heterogeneity rdfs:label ?hLabel . 

schreiben, der sagte, eher als String-Werte verwenden, warum nicht nur verwenden die Heterogenitätswerte direkt, wie in:

ex:seed-2 
    ex:hasHeterogeneity ex:M2, ex:M3 ; 
    ex:hasInputPath  "C:\\seed2.aml" ; 
    # ... 
+0

Danke, es hat super funktioniert. Ich möchte jedoch nicht, dass mein Betreff der Dateiname ist. Irgendeine andere Alternative, an die ich denken kann? da es meine Eingabedatei ist macht es keinen Sinn es dort zu setzen. etwas wie Heterogenität-1? ex: hasID "Heterogenität-1"; –

+0

@omar Ich weiß nicht, was du meinst "Ich will nicht, dass das Thema der Dateiname ist". Ich habe hier keine Dateinamen erwähnt. –