ppy/OntologySummit2013_hc-01_chat-transcript_unedited_20130413a.txt ------ Chat transcript from room: hc-01 2013-04-13 GMT-08:00 [PDT ------ [(0412)20:11] PeterYim: Welcome to the = OntologySummit2013 Hackathon & Clinics Activities - Day-3 - Sat 2013.04.13 = Connections: Main Chat-room (ALL Projects): http://webconf.soaphub.org/conf/room/summit_hackathon see master schedule: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2013_Hackathon_Clinics#nid3PGL . == Project: HC-01. BACnet Ontology Hackathon == Project homepage: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2013_Hackathon_Clinics_BACnet_Ontology Project chat-room (up when in session): http://webconf.soaphub.org/conf/room/hc-01 * Activities will be in session: ** starting from: Sat 2013.04.13 - 8:00am PDT / 11:00am EDT / 5:00pm CEST / 15:00 UTC ** Open webcast segment - supported in the first 1 Hr. 45 min. * primary project contact: JoelBender . Dial-in: Phone (US): +1 (206) 402-0100 ... Conference ID: 141184# ; or Skype: joinconference ... Conference ID: 141184# . Logistics: * (if you haven't already done so) please click on "settings" (top center) and morph from "anonymous" to your RealName (in WikiWord format) * Mute control: *7 to un-mute ... *6 to mute * Can't find Skype Dial pad? ** for Windows Skype users: it may be under the "Call" dropdown menu as "Show Dial pad" ** for Linux Skype users: please note that the dial-pad is only available on v4.1 (or later or the earlier Skype versions 2.x,) if the dialpad button is not shown in the call window you need to press the "d" hotkey to enable it. * Note: ... it has come to our attention that our conference bridge provider is running into some problems with the "joinconference" skype connections. In case anyone gets in trouble, please try to call the phone numbers instead (e.g. from your phone, skype-out, google-voice, etc.) . == Proceedings: == . [7:52] PeterYim: . == Attn: ALL .. the HC-01 BACnet Ontology Hackathon - Kick-off and "open webcast segment" will be starting in about 8 minutes Dial-in: Phone (US): +1 (206) 402-0100 ... Conference ID: 141184# ; or Skype: joinconference ... Conference ID: 141184# the project chat-room: http://webconf.soaphub.org/conf/room/hc-01 . [8:00] JoelBender: Project SourceForge "home" page is here http://bacowl.sourceforge.net [8:01] PeterYim: Hi Steve ... we don't see you on the voice bridge yet! [8:02] PeterYim: Steve is in ... [8:03] JoelBender: Browse code repository here http://sourceforge.net/p/bacowl/code/ [8:05] anonymous morphed into EvanWallace [8:06] List of members: EvanWallace, JoelBender, MikeDean, PeterYim, SteveRay, vnc2 [8:06] PeterYim: @Evan - we are on a voice conference too (see above for dial-in details) [8:08] JoelBender: http://sourceforge.net/p/bacowl/code/ [8:08] JoelBender: http://bacowl.sourceforge.net/vendor.html [8:14] JoelBender: http://www.bacnet.org/VendorID/index.html [8:20] JoelBender: xmlns:vendor="http://bacowl.sourceforge.net/bacnet/Vendor#" [8:21] JoelBender: http://bacowl.sourceforge.net/primitive.html [8:31] MikeDean: Suggest minimal use of null, e.g. for wildcards, not for missing data (open world assumption) [8:31] SteveRay: I support the use of existing xsd primitive datatypes where they meet your needs. [8:42] EvanWallace: OWL2 really embraced the XSD datatypes so I agree with Steve [8:47] MikeDean: Might look at OWL Time ontology in the future [8:49] MikeDean: If it's possible to separate generic ASN.1 processing from BACnet, this would be useful tool for the community [8:51] SteveRay: For extended enumerations, you might want to consider adopting the solution used by the FSGIM standard, that draws upon the ISO notion of Code-Lists (I forget the standard number) [8:54] JoelBender: [8:55] JoelBender: [8:56] JoelBender: Declaration(Class(:DoorStatus)) SubClassOf(:DoorStatus :StandardEnumeration) EquivalentClasses( :DoorStatus ObjectOneOf( doorStatus:closed doorStatus:opened doorStatus:unknown ) ) DifferentIndividuals( doorStatus:closed doorStatus:opened doorStatus:unknown ) [8:57] JoelBender: Declaration(NamedIndividual(doorStatus:closed)) ClassAssertion(:DoorStatus doorStatus:closed) DataPropertyAssertion(enum:nominal doorStatus:closed "0"^^xsd:integer) [9:00] MikeDean: It looks like TopQuadrant is inserting some extra equivalentClass statements (e.g. Date, Time, ObjectIdentifier) [9:01] MikeDean: The jena.rdfcopy command can be used to perform a triple-level conversion between RDF/XML and Turtle [9:01] JoelBender: :ObjectType rdf:type owl:Class ; rdfs:subClassOf :StandardEnumeration ; owl:equivalentClass [ rdf:type owl:Class ; owl:oneOf (ot:analogInput ot:analogOutput ot:analogValue [9:10] JoelBender: http://bacowl.sourceforge.net/constructed.html [9:10] MikeDean: Some values are used in multiple standard enumerations (e.g. securityError in AbortReason and ErrorCode) [9:17] SteveRay: Another general observation (besides the consideration against using so many namespaces) is to consider using restriction classes on properties when they are used, rather than hard-wiring them with domain and range specifications. This allows you to use a given defined property in multiple contexts, with different restriction classes for each context. [9:26] MikeDean: Rather than rdf:seq, consider using subclasses of rdf:List, e.g. BACnetKeyIdentifierList, with restrictions on rdf:first and ref:rest. [9:27] MikeDean: :BACnetKeyIdentifierList [9:30] SteveRay: hsl:MedicalReading rdf:type owl:Class ; rdfs:subClassOf hsl:MedicalEvent ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:allValuesFrom xsd:date ; owl:onProperty schema:endDate ] ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty schema:endDate ] ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:allValuesFrom hsl:Patient ; owl:onProperty hsl:ofPatient ] ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty hsl:ofPatient ] ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty hsl:readingID ] ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty schema:location ] ; rdfs:subClassOf [ rdf:type owl:Class ; owl:unionOf ([ rdf:type owl:Restriction ; owl:allValuesFrom schema:Place ; owl:onProperty schema:location ] schema:PostalAddress) ] . [9:32] MikeDean: :BACnetKeyIdentifierList a owl:Class; rdfs:subClassOf rdf:List, [ a owl:Restriction; owl:onProperty rdf:first; owl:allValuesFrom :BACnetKeyIdentifier ], [ a owl:Restriction; owl:onProperty rdf:rest; owl:allValuesFrom :BACnetKeyIdentifierList ]. [9:41] JoelBender: http://bacowl.sourceforge.net/object.html [9:47] MikeDean: Separating ASN.1 specific definitions (e.g. Sequence) into their own namespace would be desirable [9:53] JoelBender: :OAT obj:objectName "OutSideAirTemp" . [9:58] JoelBender: OAT obj:objectType analogInputObject; obj:objectIdentifier [ oid:objectType analogInputObject ; oid:instance 15 ] . [10:01] JoelBender: :OAT obj:objectType analogInputObject; obj:objectIdentifier [ oid:type analogInputObject ; oid:instance 15 ] . [10:01] List of members: derek lasalle, EvanWallace, JoelBender, MikeDean, PeterYim, SteveRay, vnc2 [10:04] MikeDean: Define obj:objectType as a property chain of oid:objectIdentifier and oid:type [10:10] JoelBender: 64 [10:19] PeterYim: check out: http://ontolog.cim3.net/cgi-bin/wiki.pl?UoM [10:20] MikeDean: May want to use user-defined annotation properties to indicate optional, readable, writable BACnet properties. [10:20] SteveRay: Check out http://qudt.org for a comprehensive treatment of units of measure [10:25] PeterYim: wonderful work, Joel ... and great session! [10:28] PeterYim: == HC-01 activities adjourned (conf call ended) [10:28] PeterYim: -- session ended: 10:27am PDT -- [10:28] List of attendees: EvanWallace, JoelBender, KenBaclawski, MikeDean, PeterYim, SteveRay, anonymous, derek lasalle, vnc2 ------