• The Semantic Web is a distributed, flexible modeling framework.
• The Semantic Web is primarily descriptive in nature. The Semantic Web is used to describe web-pages, services, systems, etc.
• Neno is an object-oriented language that was designed specifically for the Semantic Web.
• Fhat is a virtual machine represented in the Semantic Web.
• With Neno/Fhat the Semantic Web now has a procedural component. The Semantic Web now includes object methods, algorithms, and computing machines.
• The Semantic Web can be made to behave like a distributed, general-purpose computer. Not just an information repository.
What's New in Teams Calling, Meetings and Devices March 2024
Neno/Fhat: Semantic Network Programming Language and Virtual Machine Specification
1. Neno / Fhat : Semantic Network Programming Language and Virtual Machine Specification Marko A. Rodriguez (1) Ryan Chute (2) Digital Library Research & Prototyping Team Los Alamos National Laboratory - Research Library (1) [email_address] . gov (2) [email_address] . gov Acknowledgements: Herbert Van de Sompel (LANL) and Johan Bollen (LANL)
2.
3.
4. Overview Introduction to semantic networks A quick Semantic Web tutorial A quick object-oriented/virtual machine tutorial Neno the language and Fhat the virtual machine Practical applications Conclusion
5. Overview Introduction to semantic networks A quick Semantic Web tutorial A quick object-oriented/virtual machine tutorial Neno the language and Fhat the virtual machine Practical applications Conclusion
9. Example semantic network. SantaFe Marko NewMexico Ryan California UnitedStates LANL livesIn worksWith cityOf originallyFrom stateOf stateOf locatedIn hasLab Cells Atoms madeOf madeOf researches Oregon southOf hasResident Arnold governerOf northOf
10.
11.
12.
13. Overview Introduction to semantic networks A quick Semantic Web tutorial A quick object-oriented/virtual machine tutorial Neno the language and Fhat the virtual machine Practical applications Conclusion
14.
15.
16.
17. RDF and RDFS. lanl:marko lanl:cookie lanl:Human lanl:Food lanl:isEating rdf:type rdf:type lanl:isEating rdfs:domain rdfs:range ontology instance RDF is not a syntax. It’s a data model. Various syntaxes exist to encode RDF including RDF/XML, N-TRIPLE, TRiX, N3, etc.
21. Triple-store vs. relational database. Triple-store Relational Database SQL Interface SPARQL Interface SELECT (?x4) WHERE { ?x1 dc:creator lanl:LAUR-06-2139. ?x1 lanl:hasFriend ?x2 . ?x2 lanl:worksFor ?x3 . ?x3 lanl:collaboratesWith ?x4 . ?x4 lanl:hasEmployee ?x1 . } SELECT collaboratesWithTable.ordId2 FROM personTable, authorTable, articleTable, friendTable, hasEmployeeTable, organizationTable, worksForTable, collaboratesWithTable WHERE personTable.id = authorTable.personId AND authorTable.articleId = "dc:creator LAUR-06-2139" AND personTable.id = friendTable.personId1 AND friendTable.personId2 = worksForTable.personId AND worksForTable.orgId = collaboratesWithTable.orgId2 AND collaboratesWithTable.ordId2 = personTable.id
22. A birds-eye view of the Semantic Web. www.domainC.com <rdf> </rdf> www.domainA.com www.domainB.com Triple-store Triple-store Web-server HTTP GET SELECT application INSERT 127.0.0.1 LinkedData
23.
24.
25. Overview Introduction to semantic networks A quick Semantic Web tutorial A quick object-oriented/virtual machine tutorial Neno the language and Fhat the virtual machine Practical applications Conclusion
26.
27.
28.
29. Example of some Java source code. public class Human { public String name; public int example(String a) { if(a.equals(“marko”)) { return 1; } else { return 2; } } } Field Method Class Human.java
30.
31.
32. Example of a simple virtual machine. public class SimpleVM { HashMap<String,Object> variables; public void execute(File code) { FileStream stream = new FileStream(code); String inst = stream.nextLine(); while(inst != null) { if(inst.startsWith(“ADD”) // do add else if(inst.startsWith(“BRANCH”) // do branch else if(inst.startWith(“INIT_VAR”) // initialize variable … } } } INIT_VAR x ADD 1 2 x BRANCH x > 2 GOTO 100 INIT_VAR y SUB x y x … .. . VIRTUAL MACHINE CODE CODE.TXT
33.
34.
35. Overview Introduction to semantic networks A quick Semantic Web tutorial A quick object-oriented/virtual machine tutorial Neno the language and Fhat the virtual machine Practical applications Conclusion
36.
37.
38. From Neno to Fhat. Neno Human Source Code Fhat OWL API Fhat triple-code compiles to > nenofhat -o N-TRIPLE Human.neno instantiates to lanl:Human h = new lanl:Human(); triple-store/web-server boundary
46. General system architecture. Neno source code Fhat triple-code Fhat RDF Virtual Machine Native Machine Code ?Other Virtual Machine? With Fhat, the state of the RVM is maintained in the triple-store. An external process evolves the state of the machine and thus, computes. Fhat RDF State Fhat RDF Process
51. Overview Introduction to semantic networks A quick Semantic Web tutorial A quick object-oriented/virtual machine tutorial Neno the language and Fhat the virtual machine Practical applications Conclusion
52.
53.
54.
55.
56.
57.
58.
59. The evolutionary computing model. Everything is a URI. A Fhat RVM can get a pointer to itself and thus, process itself.
60. A birds-eye view of the Neno/Fhat Semantic Web. www.lanl.gov www.domainC.com www.mesur.org <rdf> </rdf> www.domainA.com www.domainB.com <rdf> </rdf> www.domainD.com Triple-store Triple-store Triple-store Triple-store Web-server Web-server application RVM Fhat Process Fhat Process Fhat Process Linked Data
61. Overview Introduction to semantic networks A quick Semantic Web tutorial A quick object-oriented/virtual machine tutorial Neno the language and Fhat the virtual machine Practical applications Conclusion
62.
63.
64. Questions? Neno / Fhat is at http://neno.lanl.gov Many thanks to the L A N L Research Library for their support.