forked from gigasquid/jruby_semantic_web_examples
/
example_4.rb
44 lines (32 loc) · 1.15 KB
/
example_4.rb
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
require 'javalib/jena-2.6.4.jar'
require 'javalib/icu4j-3.4.4.jar'
require 'javalib/iri-0.8.jar'
require 'javalib/log4j-1.2.13.jar'
require 'javalib/slf4j-api-1.5.8.jar'
require 'javalib/slf4j-log4j12-1.5.8.jar'
require 'javalib/xercesImpl-2.7.1.jar'
require 'java'
java_import 'com.hp.hpl.jena.vocabulary.VCARD'
java_import 'com.hp.hpl.jena.rdf.model.ModelFactory'
#Tutorial 4 - create a model and write it in XML form to standard out
model = ModelFactory.create_default_model
person_uri = "http://somewhere/JohnSmith"
full_name = "John Smith"
given_name = "John"
family_name = "Smith"
john_smith = model.create_resource(person_uri).add_property(VCARD::FN, full_name)
name = model.create_resource()
name.add_property(VCARD::Given, given_name)
name.add_property(VCARD::Family, family_name)
john_smith.add_property(VCARD::N, name)
model.write(java.lang.System::out)
puts "\nWriting the Model as Triples \n\n"
iter = model.list_statements
while iter.has_next
stmt = iter.next_statement
subject = stmt.get_subject
predicate = stmt.get_predicate
object = stmt.get_object
puts "#{subject} #{predicate} #{object}"
end
model.write(java.lang.System::out, "N-TRIPLE")