1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
package main
import (
"fmt"
rdfloader "github.com/spdx/gordf/rdfloader"
"os"
)
func main() {
// expects user to enter the file name.
// sample run :
// go run exampleRDFLoader.go ../sample-docs/rdf/input.rdf
// checking if input arguments are ok.
if len(os.Args) != 2 {
fmt.Printf("Usage: %v <input.rdf>\n", os.Args[0])
fmt.Printf("\tTo parse the <input.rdf> file and\n")
fmt.Printf("\tPrint some of it's Triples\n")
os.Exit(1) // there was an error processing input.
}
filePath := os.Args[1]
rdfParser, err := rdfloader.LoadFromFilePath(filePath)
if err != nil {
fmt.Printf("error load rdf file: %v\n", err)
os.Exit(1)
}
// maximum number of triples to display.
maxNTriples := 10
i := 0
// parser.Triples is a dictionary of the form {triple-hash => triple}
for tripleHash := range rdfParser.Triples {
if i == maxNTriples {
break
}
i++
triple := rdfParser.Triples[tripleHash]
fmt.Printf("Triple %v:\n", i)
fmt.Println("\tSubject:", triple.Subject)
fmt.Println("\tPredicate:", triple.Predicate)
fmt.Println("\tObject:", triple.Object)
}
}
|