Discussions on Computers
Start a New Discussion
-
-
There is a type in the Computer commons called Internet Protocol which has no properties but duplicates the intent of the Protocol type in the Internet Commons, which *does* have at least one property (API), and has others under discussion (RFC).
Can we get rid of the one in Computers?
-
There was an earlier discussion of RFCs and Protocols on the data modeling list that I was supposed to follow up on with the with the following email:
=====
Thanks to both Robert and Tom for the very in-depth answers. The confusion over the /computer/internet_protocol type is well deserved. I just discovered another type, /internet/protocol, which has a description and is also connected to the /internet/api type, which uses it to describe methods of accessing a certain API.
Based on all the feedpack, the changes I'm proposing regarding protocols are:
1. Obsolete /computer/internet_protocol type
2. Clean up /internet/protocol to only include the IP suite of protocols; most bad instances should be /computer/file_formats
The revised changes and additions regarding specifications/standards are:
1. Create a Standard type
2. Create an RFC or IETF Standard type (and any others, like ISO Standard, IEEE Standard) that includes Standard
3. Create a Standardized Object(?) type to place on any topic standardized by a Standard
This way internet protocols will link to their RFCs via a property on the Standardized Object type. I will also add all the properties Robert and Jeff suggested to the IETF Standard type:
- Obsoleted(Superceded?) by and its reciprocal, Supercedes
- Updated by and its reciprocal, Updates
- Authors
- Working Group
- Standard number
> - Status (informational|experimental|...)
> - Date published (/type/datetime)
> - Specifies protocol (internet protocol)
The title will be captured in /type/object/name. None of the properties that link to other RFCs need to be unique, from what Robert has said. As for RFC ids as keys, we can figure this out later. I believe URI Templates only work with keys, so that will be an interesting issue later on.
(possibly replace any occurrence of "Standard" above with "Specification")
=====In short, I'm in favour of deleting the Internet Protocol type from Computers.
-
There was a problem retrieving the post content.
-
Looking at theSoftware type it appears that a more generic use of Protocol could instead be used to capture those that are not necessarily Internet Protocols (those maintained by standards bodies and used in relaying devices, both hardware and software driven) as is mentioned above from others.
My use case for this is the Xboard Communication Protocol which is used in several chess programs and chess engines such as Crafty
So, can we get the above proposal from Vishal documented at least here: http://wiki.freebase.com/wiki/Internet_commons and been to gather comments on the mailing list and REALLY finally make some progress on all this ?
Comments for me to add to above proposal, so I don't lose them: My thoughts are that we have /software/protocol and /software/library. Further, an additional property like /software/apis_provided(_if_any)
-
-
-
Looking at the Software type it appears that a more generic use of Protocol could instead be used to capture those that are not necessarily Internet Protocols (those maintained by standards bodies and used in relaying devices, both hardware and software driven).
My use case for this is the Xboard Communication Protocol which is used in several chess programs and chess engines such as Crafty
Thoughts ?
-
-
-
This type is being used as a kind of catch-all for everything from low-level encodings which aren't file formats at all to top-level container formats. As an example, mu-law, PCM, ADPCM, G.721, etc are all audio encodings or families of audio encodings which are always, at least these days, wrapped in some container format before being written to disk, so I don't consider them to be file formats at all.
It feels messy, but perhaps the flexibility outweighs the value of finer grained modeling. What do others think?
-
There was a problem retrieving the post content.
-
Cross-posting to the domain so that this discussion is more visible.
-
sandos's type Serialization is probably relevant here to help distinguish format models from their serializations.
Versions of formats should probably just be modeled as separate topics, particularly if there's any significant compatibility issues.
The extended_from property can be used to link things together, but it's not always 100% accurate for families of things which are more related by branding or continuity than technical compatibility. Not sure how finely this needs to be modeled though...
-
Sorry for the delay in replying - I didn't get any notification email, and I'm not sure why as I've allowed it in my profile.
I agree that we should distinguish between models and their serialisations, although sandos's type still does not distinguish between specific encodings (e.g. XML rather than XML 1.0). That would imply three levels: Specification/Model, File Format, Serialisation/Encoding/Version.
I'm not quite sure how to align the Model/Specification with the more common file formats. For RDF, there is a well-specified model and a range of encodings. For things like 'Images', the model is less well specified (rather, the core concepts are well-specified, but there are a lot of additional complications that vary between formats), so the mapping is not clear.
I agree that version of formats should be separate topics (as I would like URIs for each), but I'm not sure if I would prefer different instances of the 'File Format' type, or a new 'Serialisation' or 'Encoding' type. I suspect that, for now, it might work better if we augment the File Format schema and use that for both file format families and specific encodings. We could add fields to distinguish them, and let things develop for a while before we attempt to prise them apart into separate entities.
The semantics of 'extended_from' are not clear to me. It has no description in the File Format type, and does not indicate how it should be used. For me, it is critical to be able to distinguish between direct super/subset relationships of encodings (i.e. XHTML is also XML, but a more specific subset - technical compatibility if I understand you correctly) and other relationships (e.g. HTML5 is a later version of HTML4). Without clear guidance on what extended_from means, the data will become chaotic.
I would really like to work out how to move this forward. It seems that the user who created the File Format type (superkurt) is long gone. How do we help make it better? Who should we talk to?
-
-
-
The common usage of the /computer/computer type appears to be actually a model or family of computers (Apple Mac, Trash 80, etc), but there are also a bunch of usages for instances of computers (TX-0, Whirlwind, ASCI *, etc). These are two different kinds of things that should have separate types.
-
I've put some of the specific computers in the table at http://www.freebase.com/view/user/tfmorris/default_domain/views/early_computers but I haven't removed the old type from them.
-
There was a problem retrieving the post content.
-
I agree that a type for computer instances would be good to have. For some of these unique ones, I wonder if they would best be modeled by typing them as both Computer and Computer Instance (for lack of a better name), since they are, in a sense, models, it's just that they're the only instance ever made. I'd say, at minimum, the Instance should be connected to the Model (for unique ones, this is less of an issue, but it's necessary for something likeFROSTBURG). This would also mean that you could delete the "designer" property from your type and just use the one on Computer.
-
I've updated my scratch type per your suggestion. The "instance of myself" thing has always seemed a little weird to me (it's used for one-design boats too), but it seems to be the Freebase standard.
I've added the types to FROSTBURG. Feel free to play around with it and suggest other additions (I didn't think too deeply about it when throwing it together).
-
There was a problem retrieving the post content.
-
-
-
There was a problem retrieving the post content.
-
Just noticed this. Sorry for the delay, Thad. As things stand right now, this would probably fit in the File Format type which is used for all kinds of encodings.
Without reading up on it, I"m guessing that iXBRL is either a different serialization of XBRL, a subset of XBRL which is XHTML compatible, or a little bridge container mini-format for embedding XBRL (or subset thereof) in XHTML. I think any of these would probably fit the current usage (which is kind of all over the map).
As we refine the modeling we can adapt the things which have already been typed.
Tom
p.s. I don't know of a good example which has already been done in Freebase.
-
Thanks Tom.
I've modeled iXBRL - inline XBRL as extending XBRL for now.
Now it seems we have an extending problem within the /computer/software realm. My started thread for that question here: http://www.freebase.com/discuss/threads/m/0cmz_bg
-
-
-
There was a problem retrieving the post content.
-
The way this type is currently used, it's a little bit loose. It can be used for both corporations who develop software (which would be the Simile equivalent) and for individual people. I'm not sure this is necessarily a bad thing since you can work out from the other types which you are dealing with.
Is there a particular circumstance where this is causing you problems or is it just a matter of it intuitively seeming like a poor fit?
(Cross posting to the Software Developer type and its domain, Computers, to see if anyone watching there has a strong opinion one way or the other)
-
-
-
One thing it would be nice to be able to model for some work I'm doing is which peripherals are emulated by each emulator - any objections to adding "Peripherals emulated" and "Peripheral classes emulated" to this type, and probably the reverse properties as well?
-
There was a problem retrieving the post content.
-
Done on sandbox. Unless there are any objections, I'll move this across on Tuesday.
-
Done.
-
-
-
-
I think there should be a reciprocal property 'Software with this license' for the incoming 'License' property of the 'Software' type.
-
Hi David.
Is there a specific use-case that you have in mind that cannot be satisfied by simply querying for software with a specific license as opposed to 'for license X give me all software'. I am not averse to adding the property, however I would like to understand what we would gain by this additional property that cannot be provided by the existing schema.
AM
-
There was a problem retrieving the post content.
-
Bumping this old thread up.
I'm tending to agree with David here that it would be nice for the client to display the pieces of software which use each license. It's just a matter of reciprocating the existing /computer/software/license property. As with any other reverse property, it doesn't really add any new functionality, but it makes things a bit easier in some cases.
Any other views?
-
-
-
Unless there are any objections, I intend to add the reciprocal property for /computer/web_browser/layout_engine here. Having a display of which browsers use which layout engine would I think be useful, and I can't see any way this would break people's applications.
I'll do this on Monday (10th August) unless there are any objections before then.
-
-
-
We don't currently have a type for software architectures, only for computer architectures (which are mostly hardware).
Should we create one? What types should it have?
The Fedora architecture is an example of a topic which would be typed as "software architecture". One of our new contributors, mediashelf, is working on stuff related to this.
-
The closest thing I've found was software framework, but that has different implications.
-
There was a problem retrieving the post content.
-
I've been a software architect for most of my career and I'm not sure what useful properties you'd capture with a software architecture type. I supposed you could try and capture general architecture category like client-server, 3 tier, n-tier, SOA, whatever, but there's not really a ton of value in those categorizations. An architecture is really just a very high level design, for the most part. Alternatively, it's just a label that people apply when it suits them, without a lot of useful semantics.
The current Computer Architecture type is actually kind of a mish-mash (System/360) as well as categories/types of architectures (e.g. Harvard architecture).
-
BTW, this was my initial comment on the subject back in February 2009. Perhaps the difficulty in treating the subject in any useful fashion is part of the reason it remains undone.
The hardware architecture piece might be helped by a review of a standard text like Hennessy & Patterson to see how they classify things.
-
-
-
There was a problem retrieving the post content.
-
Looking at some of the assertions of this property made by Niall, it seems like these are the providers of the protocols the software is dependent on (as the key suggests, the underlying service network). For example, GAIM/Pidgin relies on ICQ and IRC, etc.
-
But IRC isn't a "provider". It's a protocol used, I would say.
-
There was a problem retrieving the post content.
-
-
-
-
-
I would like to link software to subject topics. For example, I just added the H2G_SPA Alpha Version 1.5a topic, which is software used for HDF to GeoTIFF (Subjects?) file format conversion (genre) of image products derived from MODIS and other sensors (Subjects).
-
-
-
Perhaps an optional property for the RFC(s) a protocol is defined in could be added?
-
There was a problem retrieving the post content.
-
Yes, please. Seconded.
Perhaps a description for the type too? Does this encompass only things defined by the IETF or any protocol that runs over TCP or UDP or any protocol run between two computers?
-
Trippled!!
-
There was a problem retrieving the post content.
-
Please see discussion I started on the data modeling list:
http://lists.freebase.com/pipermail/data-modeling/2009-April/001673.html
-
-
-
-
There was a problem retrieving the post content.
-
+1, I've filed a task for promotion. Please see and comment here.
-
Not that it matters too much, but I think that needs to be a link to bugs.freebase.com (rather than bugs.metaweb.com) to be visible to us plebs :-)
-
There was a problem retrieving the post content.
-
-
-
The whole area of computer architecture appears to be completely untreated by Freebase. Is it hiding someplace I'm missing?
This covers both hardware and software including a whole range of things from instruction set architecture families (SPARC, x86) to memory architectures (Harvard) to interconnect architectures to software architectures to perhaps even giant "markitecture" families like "client/server" or "3-tier."
Is anyone working on covering any of this stuff? I noticed because I was using Untyped to look at all the untyped topics with the word "architecture" and the majority of the topics are software architectures, I/O standards, graphics chipsets, etc.
-
-
-
I'd like to suggest we have the Speed (in Mhz) that the linked Processor is "clocked" at.
While having the CPU type avaliable on Computers and other devices is usefull, it would make it a lot more useful to know the speed it was running at.
Perhaps a compound value would be best, but this might effect a lot of topics already using the type, though most I've looked at don't have the Processor field set.
-
There was a problem retrieving the post content.
-
I imagined a compound value on the Computer Type, linking the CPU model and the speed it is clock at.. on that specific build.
As you pointed out, CPU models often have a huge range in Clock amoungs other things. But this doesn't even take into account that on some systems the CPU is either under or over clocked, like the Asus EEE 901 range, and the Nokia N800. The N800 has a 400Mhz (stock) CPU but is Clocked at 330Mhz.
With technology like Intel's SpeedStep I expect this type of situation to become a lot more common.
-
-
-
-
There was a problem retrieving the post content.
-
In the Freebase type system, Authors author papers (and also books and poems and whatnot). Having one type for all authors makes it much, much easier, since that way you don't need dozens or more types for authors of scientific papers, authors of humanities papers, etc., etc.
-
That makes sense, but I question putting authors under the book domain. I had put myself down as an author as I've authored a couple of papers, but then I was randomly browsing the canned searches for ivy league authors and found myself there along with Fitzgerald and Feynman, which feels wrong somehow.
If we eventually import large corpora of scientific papers, searches like Ivy League authors will deviate from what (I assume) people intend when they named a query like that. Of course, it could be further refined, but as I said, it feels weird to have a type of book/author when I've never written a book (and likely never will!)
Maybe the author type could be made more general to allow for clearly marked scientific papers, journal articles, newspaper articles, and the like? And the book domain (in the URL, I mean) be renamed to match its human-readable title (Publishing)?
I dunno, maybe it's silly to give the URL so much weight :P
-
There was a problem retrieving the post content.
-
Ah, I see. That's a pity, but I guess having book in the URL isn't the end of the world.
I would think that domains like that would've just been other unique IDs in the database, whose URL representation was just another key, though? If I look at it in the explore view, it seems to have guid #9202a8c04000641f8000000003cbf74b and id /book, which would imply (with my limited knowledge of the system) that the URL could be changed without breaking any internal data relationships (but would break external links).
It seems like as you said, many domains change significantly from the time they were conceived, and that having a more flexible URL scheme that accurately matches the intent of the domain would ultimately be more effective. Maybe it would be possible to change the id from /book to /publishing and create another /book that redirects to publishing, somehow?
Anyway, just trying to understand the way things work here more :) It's not that big a deal.
-
It’s true that the system itself would survive any arbitrary change in IDs, or even their complete destruction.
However, at some point, external applications need to talk about things, and the IDs, constructed from those keys, is the way they do it. So the canned Ivy League author query looks for the type whose ID is “/book/author,” so if the ID for the domain became /publishing instead, that query would no longer find anything. Any other publishing application deployed in the wide world would similarly break. For that reason, we try to be very conservative about changing any keys in the commons domains.
-
-
-
There was a problem retrieving the post content.
-
Replied to related post in the Computers domain.
-
You can't actually save a view, per se -- you can only save a filter. E.g., if you filtered the view of your type for Domain Specific Language = "yes", you could save that. However, there is currently a work-around (although I doubt this was intentional and I can't promise that it will be around forever) -- if you click the "filter results" button, a field labeled "save view as" will appear; you can enter a name and save the view without actually running a filter. The saved view will then appear on your homepage (I think), and will have a stable URL.
-
There was a problem retrieving the post content.
-
-
-
At the moment, I have Lisp on the brain, so I'm thinking of how to capture SBCL, CMUCL, and Clozure CL all as implementations of the programming language Lisp.
One way to go might be to add a whole new schema "programming language implementation" with field such as language, specification, and software (for the implementation itself).
Another might be to simply add the "programming language" type to each "software" topic that happens to also implement a language. We could use the "parent language" field to specify the language the software implements. Within the Lisp world, that's not an unreasonable way to go.
Thoughts? We're missing a useful category of information in our current schema for this space.
-
I like the "programming language implementation" as a co-type on a piece of application software. You do need to be careful to allow multiple values, though, for the sake of software like GCC (that compiles a number of different languages).
-
There was a problem retrieving the post content.
-
I like the idea of tying specifications into this (that is certainly relevant in the Lisp world), although I don't think a "strong" link will work. That is, not all language implementations would have a meaningful associated specification (e.g., there is only 1 CPython, for example).
-
-
-
I really love the Freebase data model. As well as contributing to the public data, I would also love to use it to log and organise my private data i.e. contacts, account numbers. Is it possible to create a domain that is viewable only to myself? Or alternatively, can the Freebase software be downloaded for personal use?
-
-
-
I'm trying to document the wide array of Agile Functional test tools, in a searchable form.
My first attempt at this: http://functionaltestingtools.pbwiki.com/FrontPage is bit of mess.
Do I add the tools as individual topics and just tag them with types?
If someone could just point me to a concrete example: i.e. Blackberry is a topic. and its types are XXX.
If I've got this figured out correctly I need to add a topic per tool and them create a view. Which leads to the problem how do I create topics and views?
Looking on this page "Computer Domain" I can't see any add link for either topic or view.
-
There was a problem retrieving the post content.
-
Honestly this turns out to be way more complicated than I had hoped. At this stage I will just create a google spreadsheet.
-
Sorry I tried to say thanks for taking the time to help - but that didn't get added.
-
There was a problem retrieving the post content.
-
-
-
Hi, shouldn't the type Protocol Provider have a property for the protocol(s) the provider provides?
-
-
-
I've published seven types in my domain which are to be used for files. I described my aim in some detail here, but in short I want to be able to create topics for widely-distributed files.
To that end, I've created the File type, as well as Document File and Compressed File types which include it, and added a topic to each of the latter two to demonstrate their use (pandp12.txt and pandp12.zip, respectively). The several additional types I've created are used in those as well.
Other types will need to be created for e.g. video files or audio files, but it will take me a bit more research before I feel like I can adequately model those. I'd like a little preliminary feedback on the types I've created so far. In particular, did I include too many or too few properties, and did I model them correctly? Are my types Cryptographic Hash and Contained Work appropriate?
-
There was a problem retrieving the post content.
-
Thanks for the reply. In order, then:
The cryptographic hash can be useful for a number of reasons. The first example that comes to mind is that it would allow for an application to be built which would hash a file and then query Freebase to see if it was catalogued, and in this way the user could get info about a file. So the hashes are more for the sake of identification than verifying integrity, though of course they serve that purpose as well. Too, many files that are released on the internet, including software,videos, and such, have an MD5 or CRC32 hash (or both, or more) listed with them, so it's the sort of information that is typically associated with files. Since hashes can be generated for all files, it seemed more appropriate to have it on the generic File type rather than more specific ones.
Regarding Contained Work, yes, the idea was definitely to allow anything to be contained in a file (indeed, there's no particular reason why the container must be a file). I demonstrated this by having pandp12.zip contain pandp12.txt which contains Pride and Prejudice. Actually, the text file probably should contain a particular edition of the book, now that I think of it. I'm not at all in love with the name, but it was the only thing I could think of at the time. I'll try to come up with something else.
I'd like to create a type for video files as well before I decalre File to be finished, to help me see if I've missed anything vital, but I feel like what I have is pretty stable.
Thanks again for the reply. If you've got any suggestions, or further questions, I'd be happy to hear them.
-
-
-
While making some additions to the API Type in the Internet Domain, I noticed that not all the API Topics I was adding were ones specific to the Internet. What about mirroring the API Type with the same and additional properties if necessary in the Computer Domain? The definition, in fact, for the API Type in the Internet Domain reads "An application programming interface (API) is a source code interface that a computer system or program library provides in order to support requests for services to be made of it by a computer program." No mention of the Internet at all.
-
-
-
I've published three types in my domain for describing open source software projects. They are:
- open source software - cotype of software, adds information about project homepage, bug tracker, and software repository
- software repository - where code is published for a software project and how to get it.
- revision control system - the software used to manage the source control for a project
-
There was a problem retrieving the post content.
-
Aseem,
The Software Repository type is a join model that connects a project to a type of revision control system and adds some additional properties like where to get the code. I'm not sure how to model that without an additional type. Also some software projects (like mine) expose more than one repository and synchronize them, however this is not the norm and only one of them serves as the canonical repository...
-chris
-
In that scenario, I would recommend creating a CVT called source-access which would have two properties: the URI and the protocol (you can additionally add the source control as a property too). That could then be linked back to the software and would provide the level of expression you want.
HTH
AM
-
-
-
There was a problem retrieving the post content.
-
The potential issue that I see with that is one of appearance of sole attribution. If we mark a software product as having being developed by a developer, it implies that the specified developer was the primary worker even though the product may have been developed by a team. I think a type to model development teams would be better as it could also represent a team's organizational position in a larger group/organization. That could then be linked back to a software product. If a piece of software has only on developer, that could then simply be a team of one.
-
Sound like "Software Team" or "Software Project Member" might be a solution
-
There was a problem retrieving the post content.
-
Good point, just not obvious.
-
>> Another way to handle this might be to distinguish between "Primary Developer"
>> (the individual or organization acknowledged as developing the product) and "Contributors"
>> (any number of individuals or organizations that have made substantial contributions to the project).
>> Primary Developers do change over time, though, so there's a tricky time-dependent element there.
I think that for this kind of scenario the concept of software teams would be better, especially if the software team could have employer or something similar as an included type or a property thus allowing us to bring in the whole tenure/dated employment model into it and not having to deal with bounded set membership modelling stickiness.
-
-
-
There was a problem retrieving the post content.
-
Do the latest version and latest release date properties of the software type satisfy this requirement? I am no sure that I understand the advantages of having another type to represent just the software release information. For e.g. clearly java 1.4.2 is a quite different beast as compared to java 1.5 and they ought to resolve to two different topics. I definitely see the need to be able group these into 'families' so to speak. Maybe we could go that route?
-
Yes, JDK 1.4.2 and JDK 1.5 are very different and should be different topics. But my concern is that "Sun JDK 1.4.2" and "Sun JDK" are very different kinds of things. The latter is a software product that has many releases over time; the former is a particular release of that software product. I would like to type "Sun JDK" as a "Software Product" (with properties for who developed it, for instance), and "Sun JDK 1.4.2" as a "Software Release" (with properties such as "date of release", "version", "product", "standards implemented", etc.).
One tricky issue arises with products that are owned/developed by different groups over time, especially if those are different types of organizations (e.g., a closed-source product developed by a corporation that's open-sourced and continues to be developed by an informal group of independent developers).
-