-
Notifications
You must be signed in to change notification settings - Fork 1
demetriusnunes/semantic
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Semantic is a Ruby library for dealing with RDF, RDF(s) and related Semantic Web languages and technologies. Semantic is written in the Ruby Way because even when dealing with RDF(s) constructs, Ruby should still feel like Ruby and not at all like XML. Take the sample model in this presentation: http://www.cs.rpi.edu/~puninj/XMLJ/classes/class8/slide35-0.html http://www.cs.rpi.edu/~puninj/XMLJ/classes/class8/slide36-0.html In Semantic, this should be written like this: module AcademicExample namespace "http://www.cs.rpi.edu/~puninj/XMLJ/course_schema.rdf" # rdfs:Class Person -> rdfs:subClassOf Resource class Person < Rdfs::Resource comment "Person Class" end class Student < Person comment "Student Class" end class Teacher < Person comment "Teacher Class" end class Course < Rdfs::Resource comment "Course Class" property :teacher, :range => Teacher # implicit domain end property :name do comment "Name of a Person or Course" domain [ Person, Course ] range Rdfs::Literal end property :students do comment "List of Students of a course in alphabetical order" domain Course range Rdf::Seq end end include AcademicExample Course.new("csci_2962") { |c| c.name = "Programming XML in Java" c.teacher = Teacher.new("jp") { |t| t.name = "John Punin" } c.students << Student.new("er") { |s| s.name = "Elizabeth Roberts" } c.students << Student.new("gl") { |s| s.name = "George Lucas" } c.students << Student.new("js") { |s| s.name = "John Smith" } }.to_xml
About
The Ruby Way for dealing with RDF, RDF(s) and the Semantic Web
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published